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