|
- ;=================================
- ;双字节无符号二进制数转换成BCD形式
- ;入口参数:双字节无符号二进制数地址放在R0中
- ; 存放转结果的地址放在R1中
- ;===================================
- ORG 0000H
- AJMP START
- ORG 0100H
- START: MOV SP, #60H
- MOV R1, #25H
- MOV R0, #20H
- MOV @R0, #0FFH ;赋初值(低8位)
- INC R0
- MOV @R0, #0FFH
- ACALL DW_BCD
- AJMP $
- DW_BCD: DEC R0
- MOV A, R0 ;保护地址20H,和25H
- MOV R6, A
- MOV A, R1
- MOV R7, A
- MOV R2, #3
- CLEAR: CLR A
- MOV @R1, A
- INC R1
- DJNZ R2, CLEAR
- MOV R3, #16
- CLR C
- YIWEI: MOV A, R6
- MOV R0, A
- MOV A, @R0
- RLC A
- MOV @R0, A
- INC R0 ;(R0)=21H
- MOV A, @R0 ;高8位开始左移一位
- RLC A ;高8位的移动带上了低8位左移时的CY位。
- MOV @R0, A
- MOV R2, #3
- MOV A, R7
- MOV R1, A
- CUNFANG:MOV A, @R1 ;不解就在这里???????????????
- ADDC A, @R1
- DA A
- MOV @R1, A
- INC R1
- DJNZ R2, CUNFANG
- DJNZ R3, YIWEI
- RET
- END
复制代码
代码来源:百度文库 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|