📄 elan5bitbcdto16bitbin.asm
字号:
;----------5bitBCDconversion16BITbin----------------------
H-byte=0X10
L-byte=0X11
R0 =0X12
R1 =0X13
R2 =0X14
H-temp=0x15
L-temp=0X16
BCDTOB CLR H-byte
MOV A ,R0
and A ,@0X0FH
mov L-byte A
call Mpy10b ; 结果=10a+b
swapaA R1
call Mpy10b ;结果=10[10a+b]
mov A, R1
call Mpy10b;结果=10[10[10a+b]+c]
swapA R2
call Mpy10b ;结果=10[10[10[10a+b]+c]+d]
mov A, R2
and A,@0X0FH
add L-byte, A
JBC STATUS,C
JZ H-byte;果=10[10[10[10a+b]+C]+d+e
RET ;BCD 到BIN转换结束 Mpy10b and A,@OXOFH
add L-byte,A
JBC STATUS,C
JZ H-byte
Mpy10a BC STATUS,C;单元及进行除2处理
RLCA L-byte
MOV L-TEMP,A
RLCA H-byte ;最低位调整,
MOV H-temp,A ;
BC STATUS,C 逐步进行除2处理
RLC L-byte
RLC H-byte
BC STATDS,C 进行第三位二进制处理
RLC L-byte
RLC H-byte
BC STATUS,C ;进行第四位三进制处理
RLC L-byte
RLC H-byte ;一直到第四位
MOV A,L-temp
ADD A,L-byte
JBC STATUS,C
INC H-byte
MOV A,H-temp
ADD H-byte,A
RET
;主程序
main mov A, @0x60
mov R0, A
mov A, @0x55
mov R1, A
mov A, @0x35
mov R2, A
call BCDTOB
self goto self
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -