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

📄 4216.asm

📁 单片机开发资料光盘-双龙-686M.zip
💻 ASM
字号:
mpy32s:	                  ;32位*32位带符号乘法
	clr	r27       ;清结果高32位和进位位
	sub	r26,r26		
	sub	r25,r25
	sub	r24,r24	
	ldi	r28,32	  ;初始化循环计数器
m32s_1:
	brcc	m32s_2    ;C=0,跳转至m32s_2
	add	r24,r16	  ;C=1,被乘数加到结果高32位
	adc	r25,r17
	adc	r26,r18
	adc	r27,r19	
m32s_2:
	sbrc	r20,0     ;判当前位是否置位
	rjmp	m32s1     ;为1,置位,跳转至m32s1
	rjmp	m32s2     ;为0,跳转至m32s2
m32s1:
        sub	r24,r16   ;结果高32位中减去被乘数
	sbc	r25,r17	
	sbc	r26,r18
	sbc	r27,r19
m32s2:
        asr	r27       ;算术右移 r27
	ror	r26       ;循环右移结果
	ror	r25
	ror	r24
	ror	r23
	ror	r22
	ror	r21
	ror	r20
	dec	r28       ;计数器减1
	brne	m32s_1	  ;不为0,继续循环
	ret               ;返回 

⌨️ 快捷键说明

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