Salve a tutti
ho un piccolo problema
           smista_ritorno dd offset A0020,offset A0008,
                             offset A0011,offset A0017
se metto il codice nel .data mi da errore in fase di compilazione sulle label.
se invece lo metto nel .code  non mi da errore in compilazione ma in esecuzione 
 
mov opzione,1
xor eax,eax
mov ebx,4
mov al,opzione
mul ebx
mov edx,offset A0008 ;solo per verifica
mov esi,smista_ritorno[eax] ;solo per verifica
jmp dword ptr smista_ritorno[eax]
 
facendo il confronto fra esi e edx mi trovo valori differenti.
qualcuno sa come potrei fare?
scarto a priori la seguente soluzione perchè già usata per testare il programma
ed essendo in fase di ottimizzazione debbo ridurre il codice.
.data
opzione db ?
smista_ritorno dd 4 dup (?)
.code
 mov eax,offset A0020
 mov esi,offset A0008
 mov edi,offset A0011
 mov edx,offset A0017
 mov smista_ritorno[0],eax
 mov smista_ritorno[4],esi
 mov smista_ritorno[8],edi
 mov smista_ritorno[12],edx
;------------------------------------ 
mov opzione,1
xor eax,eax
mov ebx,4
mov al,opzione
mul ebx
mov edx,offset A0008 ;solo per verifica
mov esi,smista_ritorno[eax] ;solo per verifica
jmp dword ptr smista_ritorno[eax]
ringrazio anticipatamente chiunque mi sappia aiutare.