Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Программа работы. 1. Рассчитав номер варианта (от N=1 до N=9), загрузить для отладки программу преобразования двоично-десятичного кода числа (байт) в двоичный (программа



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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...