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

📄 4225.asm

📁 单片机开发资料光盘-双龙-686M.zip
💻 ASM
字号:
div16s:                      ; 16位/16位带符号除法 
	mov r13,r17          ;确定结果符号
	eor r13,r19
	sbrs r17,7           ;判被除数的正负
	rjmp	d16s1
	com r17              ;为负,被除数取补
	com r16
	subi r16,low(-1)
	sbci r17,high(-1)
d16s1:
        sbrs r19,7           ;判除数的正负
	rjmp	d16s2
	com r19              ;为负,除数取补
	com r18
	subi r18,low(-1)
	sbci r18,high(-1)
d16s2:
        clr r14              ;清除余数和进位
	sub r15,r15     
	ldi r20,17           ;初始化循环计数器
d16s3:
        rol r16              ;左移被除数
	rol r17
	dec r20              ; 计数器减 1
	brne	d16s5
	sbrs r13,7           ;判结果的正负
	rjmp	d16s4        ;不为 0 ,跳至d16s4
	com r17              ;为负,结果取补
	com r16 
	subi r16,low(-1)
	sbci r17,high(-1)
d16s4:
        ret
d16s5:
        rol r14               ;左移余数(被除数移到除数)
	rol r15
	sub r14,r18           ;余数-除数
	sbc r15,r19
	brcc	d16s6         ;够减,跳至  d16s6
	add r14,r18
	adc r15,r19
	clc                   ;清进位位
	rjmp	d16s3
d16s6:
        sec                   ;置进位位
	rjmp	d16s3  

⌨️ 快捷键说明

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