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

А) пересылки шест. значения 4629 в регистр AX;

Читайте также:
  1. I. Условные обозначения
  2. II. Критерии для назначения повышенной стипендии
  3. IV. Порядок назначения пенсии и перевода с одной пенсии на другую
  4. IV. ПРАВИЛА РЕГИСТРАЦИИ
  5. IV. ПРАВИЛА РЕГИСТРАЦИИ
  6. IX. Целевые значения церебрального перфузионного давления
  7. SW 13. МЕТОДИКА АВТОМАТИЧЕСКОЙ РЕГИСТРАЦИИ

Б) сложения шест. 036A с содержимым регистра AX.

 

2. Предположим, что была введена следующая команда: E CS:100 B8 45 01 05 25 00

Вместо шест.значения 45 предполагалось 54. Напишите команду E для корректировки только одного неправильно введенного байта, т.е. непосредственно замените 45 на 54.

 

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

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; просмотров: 173 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Напишите машинные команды для| Стоимость дополнительного места: в бунгало № 2 и в гостинице № 6 – 10000 руб.

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