Eu tenho um código no MASM, que contém
mov bx, 4
mov ax, array[bx] + 4
Então array[4] aqui é o quinto elemento do array ou 4 bytes e então adicionamos 4 bytes? Qual será o valor de AX então?
Eu tenho um código no MASM, que contém
mov bx, 4
mov ax, array[bx] + 4
Então array[4] aqui é o quinto elemento do array ou 4 bytes e então adicionamos 4 bytes? Qual será o valor de AX então?
O número entre colchetes é um deslocamento na matriz. É uma distância medida em bytes.
O número que vem depois desses colchetes é apenas outro deslocamento. Poderia ter sido inserido entre colchetes também:
mov ax, array[bx+4]
. Até o endereço do próprio array pode ficar entre colchetes:mov ax, [array + bx + 4]
.AX obterá o valor da palavra do 9º (deslocamento 8) e do 10º (deslocamento 9) bytes da matriz.