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

📄 asm3-3.asm

📁 51单片机用汇编实例 包括ad
💻 ASM
字号:
;==============================================================
; 文件名称: Asm3-3.asm
; 功能描述: 双字节除法. 使用'移位相减'的算法.
;           R7R6÷R5R4-->R7R6(商)......R3R2(余数)
;==============================================================

	ORG 0000H
	LJMP MAIN
	ORG 0100H
MAIN:	MOV A, R4	;执行程序前为R7R6(被除数), R5R4(除数)赋值
	JNZ DDIV0	;除数不为0, 转DDIV0
	MOV A, R5
	JZ ERROR	;除数为0, 转ERROR
DDIV0:	MOV R2, #00H	;余数寄存器清零
	MOV R3, #00H
	MOV R1, #16	;循环次数为16
DDIV1:	CLR C		;R3R2R7R6左移1位
	MOV A, R6
	RLC A
	MOV R6, A
	MOV A, R7
	RLC A
	MOV R7, A
	MOV A, R2
	RLC A
	MOV R2, A
	MOV A, R3
	RLC A
	MOV R3, A
	MOV A, R2	;部分余数减除数
	SUBB A, R4	;低8位相减
	JC DDIV2	;不够减, 转DDIV2
	MOV R0, A	;暂存相减结果
	MOV A, R3
	SUBB A, R5	;高8位相减
	JC DDIV2	;不够减, 转DDIV2
	INC R6		;够减, 则商为1
	MOV R3, A	;相减结果送R3R2中
	MOV A, R0
	MOV R2, A
DDIV2:	DJNZ R1, DDIV1	;16位未除完则继续
	CLR F0		;除数合法标志
	LJMP MAIN	;设置断点观察结果, 可继续下一轮运算

ERROR:	SETB F0		;除数非法标志
	LJMP MAIN	;设置断点观察结果, 可继续下一轮运算

	END

⌨️ 快捷键说明

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