📄 convert2_10.asm
字号:
DIN1 EQU 31H ;输入数据BCD(高位)
DIN2 EQU 32H
DIN3 EQU 33H
Disp1 EQU 35H ;输出数据10进制(高位)
Disp2 EQU 36H
Disp3 EQU 37H
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:MOV DIN1,#01H ;BCD码初始化(高位)
MOV DIN2,#023H
MOV DIN3,#045H
CLR A
MOV Disp1,A
MOV Disp2,A
MOV Disp3,A
MOV 3AH,#18H ;转换3字节十六进制整数
LOOP:MOV A,DIN3 ;移出待转换数的一位到CY中
RLC A
MOV DIN3,A
MOV A,DIN2
RLC A
MOV DIN2,A
MOV A,DIN1
RLC A
MOV DIN1,A
MOV A,Disp3 ;BCD码带进位自身相加,相当于乘2
ADDC A,Disp3
DA A
MOV Disp3,A
MOV A,Disp2
ADDC A,Disp2
DA A
MOV Disp2,A
MOV A,Disp1
ADDC A,Disp1
DA A
MOV Disp1,A ;双字节十六进制数的万位数不超过6,不用调整
DJNZ 3AH,LOOP ;处理完16BIT
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -