Salve ragazzi
In un esercizio mi vengono dichiarate una serie di matrice dw m1,m2,..mn
e un vettore v dd m1,m2,..mn
leggendo gli elementi del vettore trovo l'indirizzo con cui accedere alla matrice di riferimento.
Questo l'ottengo facilmente
codice:
mov eax,0
mov ebx, [v+eax*4] ; primo elemento=primo indirizzo matrice
ora per leggere il primo elemento della matrice scrivo
codice:
mov ebp,0
mov dx,[eax+ebp*2+cosa??]
ho provato dichiarando una variabile
codice:
section .bss
x resd 1
e assegnando a questa l'indirizzo del vettore conservato in ebx
codice:
mov [x],ebx
ma ovviamente non posso scrivere
codice:
mov dx,[eax+ebp*2+[x]] ; errore beroset -p invalid address
e nemmeno potrei scrivere
codice:
mov dx,[eax+ebp*2+x]
visto che il nome della variabile si riferisce a suo indirizzo..
Qualche suggerimento