YASM ошибка error: invalid combination of opcode and operands - Assembler
Формулировка задачи:
написал на YASM программу выводящую на экран то что ты вводишь на клавиатуре
выдаёт ошибку:
15: error: invalid combination of opcode and operands
строка с ошибкой:
когда не использую sym всё работает.
Вопрос: как исправить?
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
mov sym, AL ;полученный символ в sym (тут ошибка)
Решение задачи: «YASM ошибка error: invalid combination of opcode and operands»
textual
Листинг программы
mov sym, AL ;полученный символ в sym (тут ошибка) . . . mov AL, sym
Объяснение кода листинга программы
- В данном коде происходит попытка перемещения значения из символьной переменной в регистр AX и обратно.
- Переменная sym является символьной переменной, а AL - это регистр, который используется для хранения данных в формате ASCII.
- Ошибка
error: invalid combination of opcode and operands
указывает на то, что комбинация использованных команд и аргументов некорректна. - Возможно, проблема заключается в том, что команда mov не может использоваться для перемещения данных из символьной переменной в регистр или наоборот.
- Возможно, необходимо использовать специальные команды для работы с символьными переменными.
- Для решения проблемы необходимо проверить документацию по используемому языку ассемблера и убедиться, что используемые команды и аргументы являются допустимыми.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д