![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
1. Рассчитав номер варианта (от N=1 до N=9), загрузить для отладки программу преобразования двоично-десятичного кода числа (байт) в двоичный (программа decbin_to_bin).
Перед выполнением программы необходимо в окне «Workspace» загрузить в регистр r16 число 10N+N в двоично-десятичном виде, которое подвергнется преобразованию.
;****** Программа decbin_to_bin
mov r17,r16; Исходное двоично-десятичное число
; хранится в r16
andi r17,0xF0; Выделение старшей тетрады (десятков)
swap r17;
ldi r18,10; Умножение десятков на десять
mul r17,r18;
mov r17,r16; Выделение младшей тетрады (единиц)
andi r17,0x0F;
add r17,r0; Сложение результатов. Результат остаётся в r17
При выполнении программы число копируется в регистр r17, там на него накладывается маска 0b11110000 при помощи команды логического умножения (andi), которая выделяет десятки десятичного кода. После этого результат перемещается в младшую тетраду и умножается на 10. Результат умножения сохраняется в регистровой паре r1:r0. Т.к. наше число не может быть больше 99, то оно целиком поместится в младший байт результата, т.е. в r0. После этого повторно загружаем исходное число в r17, ещё раз накладываем маску, только на этот раз для выделения младшей тетрады, и суммируем результат с содержимым регистра r0, в котором хранились десятки. Конечный результат будет представлен в регистре r17.
Проследите процесс выполнения программы в пошаговом и автоматическом режиме. Поясните содержимое строк окна «Disassembler».
Внести ошибки в программу (неверная мнемоника команды, неверный операнд и т.п.) и проследить сообщения ассемблера при этом в окне View Output.
Модифицировать программу в соответствии со своим вариантом индивидуального задания:
1. Преобразовать дополнительный код числа (байт) в прямой.
2. Преобразовать двоичный код (от 0 до 99) в двоично-десятичный.
3. Просуммировать два числа в двоичном коде. Сумму, большую 255, заменить байтом единиц.
4. Сложить два двухбайтовых числа.
5. Вычесть два числа в двоичном коде. Разность, меньшую нуля, заменить байтом нулей.
6. Умножить на два двухбайтовое содержимое регистров R9..R10 (меньшее 32 000).
7. Сложить два десятичных числа (байт) в двоично-десятичном коде.
8. Реализовать суммирующий двоично-десятичный счетчик.
9. Реализовать вычитающий двоично-десятичный счетчик.
Дата публикования: 2014-11-04; Прочитано: 396 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!