3.3. Задания для самостоятельной работы
Напишите
и выполните программу, которая делает
преобразование однобайтных целых
двоичных чисел со знаком в прямом коде,
находящихся в памяти данных с адреса
20H
по 30H,
в дополнительный код и помещает их во
внешнюю память данных, начиная с адреса
0000H.
Напомним,
что для положительных чисел прямой
код совпадает с дополнительным. Процедуру
преобразования кодов оформите как
подпрограмму. Стек определите с адреса
65H.
При проверке работы программы по
указанным адресам занесите произвольные
значения (положительные и отрицательные
числа).
Напишите
и выполните программу, которая выполняет
преобразование двухбайтного целого
двоичного числа со знаком в прямом коде
в двухбайтное число в дополнительном
коде. Исходное число поступает в
микроконтроллер через порты P0
(младший байт) и P1
(старший байт). Число в дополнительном
коде выводится через порты P2
(младший байт) и P3
(старший байт). Напомним, что знаковый
разряд числа находится в старшем байте,
а для положительных чисел прямой и
дополнительный коды одинаковы. Процедуру
преобразования в дополнительный код
оформите как подпрограмму. Стек
определите с адреса 50H.
Выполните проверку работы программы
для положительных и отрицательных
чисел.
4. Содержание отчета
Наименование
и цель работы. Краткое описание изучаемых
команд. Программы и содержимое области
стека, исследуемые в п.3.1.1, 3.1.2. Программы
к заданиям для самостоятельной работы
(комментарии обязательны!). Hex-файлы для
демонстрации разработанных программ.
Контрольные вопросы
Укажите
порядок выполнения микроконтроллером
команды CALL.
Укажите
порядок выполнения микроконтроллером
команды RET.
Как
можно сохранить в стеке содержимое
регистров общего назначения
5