Объявление строки. В чем разница между предложенными вариантами - Assembler

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

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

;----------------------------------------------------------
menu    db '1 - Print hello',13,10
        db '2 - Print go away',13,10
        db '0 - Exit',13,10,'$'
select  db 13,10,'Select>$'
hello   db 13,10,'Hello!',13,10,13,10,'$'
go_away db 13,10,'Go away!',13,10,13,10,'$'
;----------------------------------------------------------
Этот рабочий вариант И этот не рабочий:
;----------------------------------------------------------
menu    db 'Menshe>',13,10,'$'
select  db 13,10,'Select>$'
hello   db 13,10,'Hello!',13,10,13,10,'$'
go_away db 13,10,'Go away!',13,10,13,10,'$'
;----------------------------------------------------------
Что за фигня? На второй строке перед тем как буква S считывается выводит сообщение: unknown opcode skipped: 65 not 8086 instruction - not supported yet. И все. Я не могу ничего сделать. Уже второй час над лабой сижу из-за того, что не пойму в чем разница с виду абсолютно идентичных объявлений?? и cmp не работает с двумя переменными? только регистр и переменная? пишу cmp [a],[b], а в ответ invalid operand. сую a в bx и пишу cmp bx, [b] нормально сравнивает.
Использую кстати emu8086

Решение задачи: «Объявление строки. В чем разница между предложенными вариантами»

textual
Листинг программы
n=3
 
mov cl,n

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

  1. Вначале объявляется переменная n типа количество байтов и инициализируется значением 3.
  2. Затем происходит перемещение значения переменной n в регистр cl.
  3. Переменная n более не используется в коде.

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


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

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

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