bcd码转换成十进制浮点数.asm

来自「8个汇编程序」· 汇编 代码 · 共 152 行

ASM
152
字号
BCD1        EQU        31H
BCD2        EQU        32H
BCD3        EQU        33H
BCD4        EQU        34H
BCD5        EQU        35H
BCDA        EQU        36H
BCDB        EQU        37H
BCDC        EQU        38H
            ORG 0000H
            LJMP 0100H
            ORG 0100H
MAIN:       MOV R0,#BCD1
            MOV A,#00H
            MOV @R0,A
            INC R0
            MOV A,#00H
            MOV @R0,A
            INC R0
            MOV A,#00H
            MOV @R0,A
            INC R0
            MOV A,#00H
            MOV @R0,A
            INC R0
            MOV A,#03H
            MOV @R0,A
            MOV R0,#BCD1
            MOV R1,#BCDA
BSHIFT:     
            MOV A,@R0
            CJNE A,#00H,BS1
            INC R0
            MOV A,@R0
            CJNE A,#00H,BS2
            INC R0
            MOV A,@R0
            CJNE A,#00H,BS3
            INC R0
            MOV A,@R0
            CJNE A,#00H,BS4
            INC R0
            MOV A,@R0
            CJNE A,#00H,BS5
            
            MOV A,#00H
            MOV @R1,A
            INC R1
            MOV @R1,A
            INC R1
            MOV @R1,A
            LJMP SSHIFT
BS1:        LJMP BSHIFT1
BS2:        LJMP BSHIFT2
BS3:        LJMP BSHIFT3
BS4:        LJMP BSHIFT4
BS5:        LJMP BSHIFT5
BSHIFT1:    ;MOV R0,#BCDA
            MOV A,#05H
            MOV @R1,A
            ;MOV R0,#BCD1
            MOV A,@R0
            SWAP A
            MOV R2,A
            INC R0
            MOV A,@R0
            ORL A,R2
            INC R1
            MOV @R1,A
            INC R0
            MOV A,@R0
            SWAP A
            MOV R2,A
            INC R0
            MOV A,@R0
            ORL A,R2
            INC R1
            MOV @R0,A
            LJMP SSHIFT
BSHIFT2:    ;MOV R0,#BCDA
            MOV A,#04H
            MOV @R1,A
            ;INC R0
            MOV A,@R0
            SWAP A
            MOV R2,A
            INC R0
            MOV A,@R0
            ORL A,R2
            INC R1
            MOV @R1,A
            INC R0
            MOV A,@R0
            SWAP A
            MOV R2,A
            INC R0
            MOV A,@R0
            ORL A,R2
            INC R1
            MOV @R1,A
            LJMP SSHIFT
            ;MOV R0,#BCDA
BSHIFT3:    
            MOV A,#03H
            MOV @R1,A
            ;INC R0
            MOV A,@R0
            SWAP A
            MOV R2,A
            INC R0
            MOV A,@R0
            ORL A,R2
            INC R1
            MOV @R1,A
            INC R0
            MOV A,@R0
            SWAP A
            INC R1
            MOV @R1,A
            LJMP SSHIFT
BSHIFT4:    ;MOV R0,#BCDA
            MOV A,#02H
            MOV @R1,A
            
            MOV A,@R0
            SWAP A
            MOV R2,A
            INC R0
            MOV A,@R0
            ORL A,R2
            INC R1
            MOV @R1,A
            INC R1
            MOV A,#00H
            MOV @R1,A
            LJMP SSHIFT
BSHIFT5:    ;MOV R0,#BCDA
            MOV A,#01H
            MOV @R1,A
            ;MOV R0,#BCD5
            MOV A,@R0
            SWAP A
            INC R1
            MOV @R1,A
            INC R1
            MOV A,#00H
            MOV @R1,A
            LJMP SSHIFT
SSHIFT:     SJMP $
            END
               
            

⌨️ 快捷键说明

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