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

Объяснение кода листинга программы

  1. Значение переменной bx используется в выражении [bx][di]+4.
  2. Значение переменной di также используется в этом выражении.
  3. К выражению [bx][di]+4 прибавляется значение 4.
  4. Полученное значение сохраняется в регистр ax.

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы