ВУЗ:
Составители:
39
Преобразование кодов из одной системы счисления в другую. Преобразование кода
из одной позиционной системы счисления в другую осуществляется делением исходного
числа на основание новой системы счисления. При этом деление должно выполняться по
правилам исходной системы счисления. Например, для преобразования двоичного числа в
двоично-десятичное исходное двоичное число должно
быть поделено на 10. Деление должно
осуществляться по правилам двоичной арифметики.
Пусть требуется выполнить преобразования 8-битного двоичного числа в двоично-
десятичное. Исходный двоичный код хранится в аккумуляторе. Результат преобразования
состоит из 12 бит: младшие 4 бита единицы, представляют собой остаток от деления
исходного числа на 10; следующее 4 бита — десятки, представляют собой остаток от
деления
на 10 полученного частного; старшие 4 бита — сотни, являются частным от второго
деления:
; Версия для МК 48
BBD: CALL DIV10 ; Деление исходного кода на 10
MOV R7,A ; Сохранение остатка в R7
MOV A,R1 ; Загрузка в аккумулятор частного
CALL DIV10 ; Деление частного на 10
SWAP A ; Передача остатка в старшую тетраду
; аккумулятора
ORL A,R7 ; Передача R7 в младшую тетраду
; аккумулятора
JMP EXIT ; Выход из процедуры
; Подпрограмма деления на 10
; Исходный двоичный код в аккумуляторе
; Результат: в R1 — частное, в аккумуляторе — остаток
DIV10: MOV R1,0 ; Сброс R1
SUB10: ADD A,(NOT (10)+1) ; Вычитание 10 из делимого
INC R1 ; Инкремент частного
JC SUB10 ; Цикл, если остаток ≥ 0
DEC R1 ; Восстановление частного
ADD A,10 ; Восстановление остатка
RET ; Возврат
EXIT: . . .
Страницы
- « первая
- ‹ предыдущая
- …
- 37
- 38
- 39
- 40
- 41
- …
- следующая ›
- последняя »