⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bcdmul.asm

📁 多位bcd码乘法,已测试通过,多位bcd码乘法,已测试通过
💻 ASM
字号:
   TEMP_STR     EQU     30H
                ORG     0000
       STAR:    NOP
                NOP
                NOP
                NOP
                MOV     TEMP_STR,#99H
                MOV     TEMP_STR+1,#99H
                MOV     TEMP_STR+2,#99H
                MOV     TEMP_STR+3,#99H
                MOV     TEMP_STR+8,#99H
                MOV     TEMP_STR+9,#99H
                MOV     TEMP_STR+10,#99H
                MOV     TEMP_STR+11,#99H
                MOV	R0,#TEMP_STR
		MOV	R1,#TEMP_STR+8
		MOV	R3,#04H
                NOP
                NOP
                CALL    BCD_MUL
                NOP
                NOP
                JMP     STAR
BCD_MUL:     	MOV	A,R3		;BCD乘法,结果存入(R0)--(R0)+2*(R3)-1
		MOV	R6,A      ;R6=4
		ADD	A,R3       ;A=8
		MOV	R2,A       ;R2=8=2*R3
		MOV	A,R3       ;A=4
		ADD	A,R0       ;A-->TEMP_STR+4
		MOV	R0,A      ;R0-->TEMP_STR+4
		MOV	A,R1
		ADD	A,R3
		DEC	A
		MOV	R1,A      ;R1-->TEMP_STR+11
		CLR	A
;Q4D88:
BCD_MUL20:   	MOV	@R0,A		;#0-->(R0)+(R3)---(R0)+2*(R3)-1
		INC	R0
     		DJNZ	R6,BCD_MUL20
		MOV	A,R2
		MOV	R6,A
		DEC	R0
;Q4D8F:
BCD_MUL40:    	CLR	A
;Q4D90:
BCD_MUL60:	XCH	A,@R0		;((R0)--2*(R0)-1)<<4,((R0))高4位-->A
     		SWAP	A
		XCHD	A,@R0
		XCH	A,@R0
		DEC	R0
     		DJNZ	R2,BCD_MUL60
		MOV	R7,A
     		JZ	BCD_MUL140

;Q4D9A:
BCD_MUL80:   	MOV	A,R3		;4-->A
		MOV	R2,A            ;R2=4
		ADD	A,R3            ;8-->A
		ADD	A,R0
		MOV	R0,A            ;R0-->R0+2*R3(TEMP_STR+8)
		CLR	C
;Q4DA0:
BCD_MUL100:  	MOV	A,@R0;((R1)--(R1)+(R3)-1)+((R0)+(R3)--(R0)+2*(R3)-1)
                               ;-->(R0)+2*(R3)-1
		ADDC	A,@R1
		DA	A
		MOV	@R0,A
		DEC	R0
		DEC	R1
     		DJNZ	R2,BCD_MUL100
		MOV	A,R3
		MOV	R2,A
;Q4DAA:
BCD_MUL120:   	CLR	A		;((R0)--(R0)+(R3)-1)+CY-->(R0)--(R0)+(R3)-1
		ADDC	A,@R0
		DA	A
		MOV	@R0,A
		DEC	R0
     		DJNZ	R2,BCD_MUL120
		MOV	A,R3
		ADD	A,R1
		MOV	R1,A
     		DJNZ	R7,BCD_MUL80

;Q4DB6:
BCD_MUL140:  	MOV	A,R3
		ADD	A,R3
		MOV	R2,A
		ADD	A,R0
		MOV	R0,A
     		DJNZ	R6,BCD_MUL40
		INC	R0
		CLR	C
		MOV	A,R0
		SUBB	A,R3
		SUBB	A,R3
		MOV	R0,A
		NOP
                NOP
                NOP
                RET
                END

⌨️ 快捷键说明

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