📄 hextobcd.bak
字号:
$include(hextodecvar.inc)
main :MOV Hex1,#0FFh
MOV Hex2,#00h
ACALL ConvertToBCD
AJMP main
AddingWeight :
MOV R2,#03h
MOV R1,#BCD1
AddingLoop :CLR A
MOVC A,@A+DPTR
ADD A,@R1
DA A
MOV @R1,A
DJNZ R2,$+4
INC DPTR
RET
INC DPTR
INC R1
JNC AddingLoop
INC @R1
AJMP AddingLoop
EndAdding: RET
ConvertToBCD:
MOV BCD1,#00h
MOV BCD2,#00h
MOV BCD3,#00h
CLR F0
MOV DPTR,#BinWeight
MOV A,Hex1
BeginLoop :MOV Temp0,#08h
ByteLoop : PUSH ACC
JNB ACC.0,$+7
ACALL AddingWeight
SJMP ConvLoop
INC DPTR
INC DPTR
INC DPTR
ConvLoop: POP ACC
DJNZ Temp0,$+5
AJMP $+5
RR A
AJMP ByteLoop
JB F0,$+9
SETB F0
MOV A,Hex2
AJMP BeginLoop
RET
BinWeight :DB 01h,00h,00h,02h,00h,00h
DB 04h,00h,00h,08h,00h,00h
DB 16h,00h,00h,32h,00h,00h
DB 64h,00h,00h,28h,01h,00h
DB 56h,02h,00h,12h,05h,00h
DB 24h,10h,00h,48h,20h,00h
DB 96h,40h,00h,92h,81h,00h
DB 84h,63h,01h,68h,27h,03h
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -