MASM, cannot use 16-bit register with a 32-bit address - Assembler
Формулировка задачи:
Всем привет! Ост такая вот ошибка can not use 16-bit register with a 32-bit addres. Суть написанного понимаю но в чем я ошибся незнаю (
.586
.model flat, stdcall
data segment
N EQU 3
M EQU 5
MATRIX DW 1, 2, 3, 4, 5
DW 6, 7, 8, 9, 10
DW 11, 12, 13, 14, 15
data ends
text segment
start:
lea bx, MATRIX
mov di, M*2
mov ax, [bx][di]+4
ret
text ends
end startРешение задачи: «MASM, cannot use 16-bit register with a 32-bit address»
textual
Листинг программы
mov ax, [bx][di]+4
Объяснение кода листинга программы
- Значение переменной
bxиспользуется в выражении[bx][di]+4. - Значение переменной
diтакже используется в этом выражении. - К выражению
[bx][di]+4прибавляется значение4. - Полученное значение сохраняется в регистр
ax.