Нужно найти причину ошибки (illegal instruction) - Assembler

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

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

Совсем новичек в данной теме.(23 минуты опыта). Набрал текст программы из книги пытался скомпилировать выдало данную ошибку. Можете подсказать в чем конкретно проблема?

Решение задачи: «Нужно найти причину ошибки (illegal instruction)»

textual
Листинг программы
org 100h
mov ah,9
mov dx,Message
int 21h
xor ah,ah
int 16h
ret
Message db 'Hello world$'

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

  1. org 100h - устанавливает точку входа в программу (начало выполнения) на 100h
  2. mov ah,9 - переменной ah присваивается значение 9
  3. mov dx,Message - переменной dx присваивается адрес строки 'Hello world$'
  4. int 21h - происходит вызов функции BIOS, заданной в регистре ah (в данном случае это функция вывода текста на экран)
  5. xor ah,ah - переменной ah присваивается значение 0 (для корректного выхода из функции)
  6. int 16h - происходит вызов функции BIOS, заданной в регистре ah (в данном случае это функция завершения работы программы)
  7. ret - происходит возврат из функции (код после этого не выполняется)
  8. Message db 'Hello world$' - определение строки 'Hello world$' для использования в программе (в данном случае для вывода на экран)

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

8   голосов , оценка 3.875 из 5