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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д