📄 htbth.asm
字号:
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: NOP
LJMP MAIN
HEXTOBCD: MOV B,#0AH ;最大HEX为63H----99D
DIV AB
SWAP A
ADD A,B ;A最大为99
RET
HEXTOBC2: MOV B,#64H ; A可以为00-FFH,结果为0-255
DIV AB
MOV R2,A ;百位放R2单元,A放十、个位
MOV A,#0AH
XCH A,B
DIV AB
SWAP A
ADD A,B
RET
BCDTOHEX: MOV B,#0AH ; 最大BCD数据为99D---63H
MOV R2,A
SWAP A
ANL A,#0FH
MUL AB
MOV B,A
MOV A,R2
ANL A,#0FH
ADD A,B
RET
BCDTOHE2: MOV B,#64H ; 最大BCD数据为255D--FFH R4放BCD的高位,R3放BCD的低位
MOV A,R4 ; 百位 X 100
MUL AB ; A中低8位
MOV R4,A
MOV A,R3
ANL A,#0F0H
SWAP A
MOV B,#0AH ; 十位 X 10
MUL AB
ADD A,R4
MOV B,A
MOV A,R3
ANL A,#0FH
ADD A,B ; 个位直接 +
MOV R3,A ; 结果低位放 R3
RET
BCDTOHE3: MOV B,#64H ; 最大BCD数据为999D--03E7H R3放BCD的高位,R4放BCD的低位,最高位X100
MOV A,R3 ; 第3位百位 X 100(如是4位(2字节),则第4位X1000)
MUL AB
MOV R3,B ; A中低8位
MOV R5,A
MOV A,R4
ANL A,#0F0H
SWAP A
MOV B,#0AH ; 十位 X 10
MUL AB
MOV B,A
MOV A,R4
ANL A,#0FH
ADD A,B ; 个位直接 +
ADD A,R5
JNC BAIJ0
BAIJ1:INC R3
BAIJ0:MOV R4,A ; 结果低位放 R4
RET
BCDTOHE4: MOV B,#64H ; 最大BCD数据为999D--03E7H R3放BCD的高位,R4放BCD的低位,最高位X100
MOV A,R3 ; 第3位百位 X 100(如是4位(2字节),则第4位X1000)
MUL AB
MOV R3,B ; A中低8位
MOV R5,A
MOV A,R4
ANL A,#0F0H
SWAP A
MOV B,#0AH ; 十位 X 10
MUL AB
MOV B,A
MOV A,R4
ANL A,#0FH
ADD A,B ; 个位直接 +
ADD A,R5
JNC BAIJ0
BAIJ1:INC R3
BAIJ0:MOV R4,A ; 结果低位放 R4
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -