Для выполнения этого действия используется команда 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.
Попробуйте объяснить полученный результат.