📄 bcdtohex.s
字号:
HEX EQU 0XfffffF
BCD EQU 0X12345678
AREA TEST,CODE,READONLY
ENTRY
CODE32
LDR r2,=HEX
BL HEXTOBCD
LDR R2,=BCD
BL BCDTOHEX
LOOP B LOOP
;/*********************************************************************************************************
;** 函数名称: hex转化为bcd
;** 功能描述: hex转化为bcd,HEX<=OXFFFFFFH,高位无效
;**
;** 输 入: R2=HEX
;**
;** 输 出: R2=BCD
;**
;** 全局变量: 无
;** 调用资源: R3--R9
;**
;**-------------------------------------------------------------------------------------------------------
;** 修改人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
HEXTOBCD
STMFA SP!,{R1,R3-R9,LR}
AND R2,R2,#0XFFFFFF
MOV R4,#0
MOV R5,#0
MOV r1,#10
MOV r3,#8
BCD_2
BL CHUFA
MOV R4,R2
MOV R2,R1
MOV R6,#4
BCD_1
MOVS R4,R4,RRX
MOVS R5,R5,RRX
SUBS R6,R6,#1
BNE BCD_1
MOV R1,#10
SUBS R3,R3,#1
BNE BCD_2
MOV R2,R5
LDMFA SP!,{R1,R3-R9,PC}
;/*********************************************************************************************************/
;/*********************************************************************************************************
;** 函数名称: BCD转化为HEX
;** 功能描述: BCD转化为HEX
;**
;** 输 入: R2=BCD
;**
;** 输 出: R2=HEX
;**
;** 全局变量: 无
;** 调用资源: R3--R9
;**
;**-------------------------------------------------------------------------------------------------------
;** 修改人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
BCDTOHEX
STMFA SP!,{R3-R7,LR}
MOV R3,#0X1
MOV R7,#10
MOV R6,#8
MOV R5,#0
HEX_1
AND R4,R2,#0XF
MOV R2,R2,LSR #4
MLA R5,R4,R3,R5
MUL R3,R7,R3
;ADD R5,R5,R4
SUBS R6,R6,#1
BNE HEX_1
MOV R2,R5
LDMFA SP!,{R3-R7,PC}
;/*********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -