YASM ошибка error: invalid combination of opcode and operands - Assembler

Узнай цену своей работы

Формулировка задачи:

написал на YASM программу выводящую на экран то что ты вводишь на клавиатуре
use16
org 0x7C00
 
section .data
sym resb    1

section .text
start:
 
next:
mov AH, 00h
int 16h     ;прочитать с клавиатуры
mov sym, AL ;полученный символ в sym (тут ошибка)
 
mov AH, 0eh
mov AL, sym
mov BL, 0
mov BH, 0
int 10h     ;sym на экран
 
jmp next    ;следующий символ
 
;jmp $
finish:
times 510 + start - finish db 0
db 0x55, 0xAA
выдаёт ошибку: 15: error: invalid combination of opcode and operands строка с ошибкой:
mov sym, AL ;полученный символ в sym (тут ошибка)
когда не использую sym всё работает. Вопрос: как исправить?

Решение задачи: «YASM ошибка error: invalid combination of opcode and operands»

textual
Листинг программы
mov sym, AL ;полученный символ в sym (тут ошибка)
. . .
mov AL, sym

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

  1. В данном коде происходит попытка перемещения значения из символьной переменной в регистр AX и обратно.
  2. Переменная sym является символьной переменной, а AL - это регистр, который используется для хранения данных в формате ASCII.
  3. Ошибка error: invalid combination of opcode and operands указывает на то, что комбинация использованных команд и аргументов некорректна.
  4. Возможно, проблема заключается в том, что команда mov не может использоваться для перемещения данных из символьной переменной в регистр или наоборот.
  5. Возможно, необходимо использовать специальные команды для работы с символьными переменными.
  6. Для решения проблемы необходимо проверить документацию по используемому языку ассемблера и убедиться, что используемые команды и аргументы являются допустимыми.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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