?? bcd3.asm
字號:
;標號: BH3
;功能:三字節BCD碼整數轉換成三字節十六進制整數
;入口條件:待轉換的三字節BCD碼整數在R2、R3、R4中。
;出口信息:轉換后的三字節十六進制整數仍在R2、R3、R4中。
;影響資源:PSW、A、B、R2、R3、R4、R5
;堆棧需求:4字節
MOV R2,#97H
MOV R3,#98H
MOV R4,#99H
BH2:
MOV A,R4 ;將低字節轉換成十六進制
LCALL BCDH
MOV R4,A
MOV A,R3 ;將次高字節轉換成十六進制
LCALL BCDH
MOV B,#100 ;擴大一百倍
MUL AB
ADD A,R4 ;和低字節按十六進制相加
MOV R4,A
CLR A
ADDC A,B
MOV R3,A
MOV A,R2 ;將高字節轉換成十六進制
LCALL BCDH
;擴大一萬倍 #2710H=#10000
MOV B,#10H;乘低字節
MUL AB
ADD A,R4
MOV R4,A
CLR A
ADDC A,B
ADDC A,R3
MOV R3,A
MOV A,R5
MOV B,#27H;乘高字節
MUL AB
ADD A,R3
MOV R3,A
CLR A
ADDC A,B
MOV R2,A
;標號:BCDH
;功能:單字節BCD碼整數轉換成單字節十六進制整數
;入口條件:待轉換的單字節BCD碼整數在累加器A中。
;出口信息:轉換后的單字節十六進制整數仍在累加器A中。
;影響資源:PSW、A、B、R5
;堆棧需求:2字節
BCDH:
MOV B,#10H ;分離十位和個位
DIV AB
MOV R5,B ;暫存個位
MOV B,#10 ;將十位轉換成十六進制
MUL AB
ADD A,R5 ;按十六進制加上個位
MOV R5,A;暫存轉換后的單字節十六進制整數
RET
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -