一字节16转换为十进制.asm

来自「用于将一字节16进制转换为10进制数」· 汇编 代码 · 共 85 行

ASM
85
字号
 DISP0	EQU	30H
 DISP1	EQU	31H
 ORG		0000H
SJMP 	MAIN
MAIN:
MOV R0,#40;存放要转换后显示的数据    
MOV	R1,#04H
MOV R2,#04H
MOV	A,R1
SWAP A
ORL	A,R2
LCALL 	HEXTODEC
LCALL	CSCX
LCALL DISPLAY
SJMP MAIN
HEXTODEC:
CLR 	C
MOV	R3,#08H
MOV	DISP0,#00H;高位显示缓冲区
MOV	DISP1,#00H;;低位显示缓冲区
HEXTODEC0:
RLC	A
MOV	R2,A
MOV	A,DISP1
ADDC	 A,DISP1
DA	A
MOV	DISP1,A
MOV	A,DISP0
ADDC	A,DISP0
DA	A
MOV	DISP0,A	
MOV	A,R2
DJNZ	 R3,HEXTODEC0
	RET
CSCX:
	MOV	R0,#40H
	MOV 	A,DISP0
	ANL	A,#0F0H
	SWAP	A
	MOV	@R0,A
	INC	R0
	MOV	A,DISP0
	ANL	A,#0FH
	MOV	@R0,A
	INC R0
	MOV 	A,DISP1
	ANL	A,#0F0H
	SWAP A
	MOV	@R0,A
	INC	R0
	MOV	A,DISP1
	ANL	A,#0FH
	MOV	@R0,A
	RET


DISPLAY:
MOV	R0,#40H
MOV R1,#01H
LOOP:
MOV	A,R1
MOV P2,A
MOV	A,@R0
MOV  DPTR,#TABel
MOVC	A,@A+DPTR	
MOV	P0,A
LCALL DELAY
INC R0
MOV A,R1
JB	ACC.3,EXIT
RL	A
MOV	R1,A
SJMP	LOOP
EXIT:
SJMP DISPLAY
Delay:
       MOV R6,#2
Del:
       MOV R7,#249
       DJNZ R7,$
       DJNZ R6,Del
       RET
TABEL:
 DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?