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.