![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Необходимость такого преобразования возникает при выборе одного из исполнительных устройств, подключенных к параллельному порту контроллера, по номеру этого устройства.
Алгоритм преобразования включает следующие шаги:
– в регистр сдвига (R) загружается число 00000001b;
– если преобразуемый двоичный код (B) не равен нулю, то выполняется сдвиг содержимого регистра R влево В раз, иначе программа преобразования завершается.
Листинг 4.28 демонстрирует преобразование трехбитного двоичного кода, хранящегося в аккумуляторе, в 8-битный унитарный.
Листинг 4.28 – Программа преобразования 3-битного двоичного кода, хранящегося в аккумуляторе, в 8-битный унитарный
.ORG 0000h | ; Адрес начала программы | |
GO: NEXT: EXIT: | … ANL A, #07H MOV R0, A MOV A, #01H CJNE R0, #00H, GO JMP EXIT CLR C RLC A DJNZ R0, NEXT … | ; Обнуление незначащих бит ; Сохранение двоичного кода в ; регистре R0 ; Загрузка регистра сдвига ; Сравнение преобразуемого ; двоичного кода с нулём ; Выход из подпрограммы, если ; преобразуемый код 000b ; Сброс флага переноса ; Сдвиг влево содержимого ; аккумулятора ; Проверка условия выхода из ; цикла ; Выход из подпрограммы |
После выхода из подпрограммы результат хранится в аккумуляторе.
Дата публикования: 2014-11-03; Прочитано: 916 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!