softmul.asm

来自「达盛单片机试验箱」· 汇编 代码 · 共 41 行

ASM
41
字号
;双字节无符号数乘法程序 (R3R4*R6R7)=(R5R2R3R4)
		ORG		0000H
		
		AJMP	NMUL
		
		ORG		0030H
		
NMUL:	MOV		A,R3		
		MOV		B,R7
        MUL		AB					;R3*R7
        XCH		A,R7				;高位存入R5,低位存入R7
        MOV		R5,B
        MOV		B,R2
        MUL		AB					;R2*R7
        ADD		A,R5
        MOV		R4,A
        CLR		A
        ADDC	A,B
        MOV		R5,A				;R5=(R2*R7)高位
        MOV		A,R6
        MOV		B,R3
        MUL		AB					;R3*R6
        ADD		A,R4
        XCH		A,R6
        XCH		A,B
        ADDC	A,R5
        MOV		R5,A
        MOV		PSW.5,C
        MOV		A,R2
        MUL		AB
        ADD		A,R5
        MOV		R5,A
        CLR		A
        MOV		ACC.0,C
        MOV		C,PSW.5
        ADDC	A,B					;加上次加法进位
        MOV		R4,A
        AJMP	$
        
        END
        

⌨️ 快捷键说明

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