Заполнение последовательных ячеек памяти

Для выполнения этого действия используется команда E <смещение первой ячейки>. После ввода цифр первого числа нажмите пробел и вводите цифры второго числа и т.д.

Задание 4.

Определите, с какого адреса должен начинаться сегмент данных, если сегмент кода имеет размер 64 кбайт. Установите нужное значение адреса сегмента данных.

Введите в область сегмента данных последовательность чисел 10h,25h,1F,AC. В какой сегмент вводит значения отладчик, исполняя команду Е со смещением в качестве аргумента?

Используйте формат команды E <сегмент>.<смещение> для ввода кода инструкции ADD в сегмент кода, начиная со смещения 0100

1. Коды инструкций

Инструкция Машинный код Результат
сложения ADD AX,BX 01D8 AX
вычитания SUB AX,BX 29D8 AX
умножения BX на AX – MUL BX F7E3 DX:AX (старшие:младшие биты)
деления DX:AX на BX – DIV BX F7F3 AX- результат DX- остаток
прерывание INT 21h CD21 Вызов обработчика прерываний.

Указатель следующей инструкции

Смещение адреса следующей инструкции в сегменте кода содержится в регистре IP

Для выполнения следующей инструкции процессором используется команда T. После ее выполнения значение IP увеличивается на 2, если выполненная инструкция не была инструкцией перехода.

Задание 5.

Введите в регистр BX значение 1.

Введите в сегмент кода инструкцию сложения со смещением 100. Установите IP на адрес введенной инструкции. Выполните сложение. Повторите инструкцию сложения еще трижды, каждый раз устанавливая соответствующий адрес в IP.

Введите в регистр BX значение 2

Введите инструкцию умножения со смещением 102. Выполните эту инструкцию

Выполните инструкцию вычитания 3 раза подряд. Смещение вычитания 104.

Выполните инструкцию деления (смещение 106)

Вернитесь к инструкции вычитания и выполните ее

Какое значение получено в регистре AX? Объясните его.

Что изменилось в регистре флагов и почему?

 

Листинг сегмента кода

Для просмотра содержимого сегмента кода используется команда U <начальное смещение>

Задание 6.

Выведите листинг сегмента кода со смещения 100. Скопируйте его в отчет.

Разделите число7С4B12h на число 1С0. Чему равно частное и остаток?

Чему равно произведение чисел 7C4Bh и 1A5?

Программные прерывания

Параметры для обработчика прерываний, вызываемого инструкцией INT 21, содержатся в РОН: AH- номер прерывания

             DL-параметр для прерывания

Вывод символа на экран

Для выполнения этой операции используется прерывание 02h, ASCII -код символа в регистре DL

Выполнение последовательности инструкций

Для выполнения последовательности инструкций в сегменте кода, начиная с той, на которую указывает IP, используется команда G <смещение останова >

Эту команду нужно использовать при выполнении прерывания, чтобы избежать его трассировки.

Задание 7.

Введите код прерывания 21 со смещением 104, укажите номер прерывания 02h код символа 44h. Выполните инструкцию командой g от 104 до 106.

Попробуйте объяснить полученный результат.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: