Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Предположим, что введена следующая е команда

Читайте также:
  1. III. Команда Aperol Spritz угощает всех Aperol Spritz
  2. III. Команда Aperol Spritz угощает всех Aperol Spritz
  3. III. Команда AperolSpritz угощает всех AperolSpritz
  4. В случае не предоставления указанных документов или несоответствия их настоящему Положению, команда снимается с соревнований.
  5. Всеобщая воинская повинность для мужчин, достигших 20-летнего возраста, была введена в
  6. Глава СЛЕДУЮЩАЯ ОСТАНОВКА: ТЮРЬМА РОЗВУДА.
  7. Далее команда Aperol Spritz начинает обходить столики и предлагать продегустировать Aperol Spritz.

E CS:100 B8 04 30 05 00 30 CB

а) Что представляют собой эти команды? (Сравните с первой программой в этой главе).

Команда вносит в регистр AX значение 3004, затем суммирует хранящееся значение с 3000, что дает 6004.

б) После выполнения этой программы в регистре AX должно быть значение 0460, но в действительности оказалось 6004. В чем ошибка и как ее исправить?

Ошибка в последовательности записи команды в машинном языке. Каждый последующий байт информации считывается с конца. То есть 30 04 и 30 00, поэтому и выдал результат после сложения – 6004. Для исправления стоит изменить программу на

-e cs:100 b8 30 04 05 30 00 cb

в) После исправления команд необходимо снова выполнить программу с первой команды. Какие две команды отладчика потребуются?

Нужно будет вернуть регистр IP в начальное положение, то есть через команду -r присвоить значение 100 регистру IP

4. Имеется следующая программа в машинных кодах: B0 25 D0 E0 B3 15 F6 E3 CB

Программа выполняет следующее:

- пересылает шест.значение 25 в регистр AL;

- сдвигает содержимое регистра AL на один бит влево

(в результате в AL будет 4A);

- пересылает шест.значение 15 в регистр BL;

- умножает содержимое регистра AL на содержимое

Регистра BL.

Используйте отладчик для ввода (E) этой программы по адресу CS:100. Не забывайте, что все значения представлены в шестнадцатеричном виде. После ввода программы наберите D CS:100 для просмотра сегмента кода. Затем введите команду R и необходимое число команд T для пошагового выполнения программы до команды RET. Какое значение будет в регистре AX в результате выполнения программы?

ax = 0612

5. Используйте отладчик для ввода (E) следующей программы в машинных кодах:

Данные: 25 15 00 00

Машинный код: A0 00 00 D0 E0 F6 26 01 00 A3 02 00 CB

Программа выполняет следующее:

- пересылает содержимое одного байта по адресу DS:00

(25) в регистр AL;

- сдвигает содержимое регистра AL влево на один бит

(получая в результате 4A);

- умножает AL на содержимое одного байта по адресу

DS:01 (15);

- пересылает результат из AX в слово, начинающееся по

адресу DS:02.

После ввода программы используйте команды D для просмотра сегмента данных и сегмента кода. Затем введите команду R и необходимое число команд T для достижения конца программы (RET). В этот момент регистр AX должен содержать результат 0612. Еще раз используйте команду D DS:00 и заметьте, что по адресу DS:02 значение записано как 1206.

 


Дата добавления: 2015-11-14; просмотров: 45 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Напишите машинные команды для| Регистрация, место и условия проведения

mybiblioteka.su - 2015-2024 год. (0.006 сек.)