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

📄 查表—rom表的 程序设计.asm

📁 常用子程序-61个-4.2M.zip
💻 ASM
字号:
      ;; 设有128个数据,所有数据均为二字节,数据指针为DATA_B1表格放于DATA_B2开始的地址单元中,所对应的控制量放于0820H开始的地址单元中,对应控制量的数据从大到小排列。根据R4、R5的内容查找比较接近的一个数据,再找出对应表格的最后结果。
      ;;;;程序清单:
    DATA_B1  EQU  0204H		;;数据指针
    DATA_B2  EQU  0200H		; 表格地址
RAED_ROM:MOV    DPTR,#DATA_B1   ;设置数据指针
	MOV	R2,#40H		;初始化
	MOV	R3,#05H		;初始化
LINE1:  CLR	C
	MOV	A,R2		;将R2内容除2再送R2
	RR	A		;R2右移一位
	MOV	R2,A
	CLR	A
	MOVC	A,@A+DPTR
	SUBB	A,R5
	MOV	A,#01H
	MOVC	A,@A+DPTR
	SUBB	A,R4		;DPTR内容减1并送R4,R5中
	JC	LINE2		    ;;有借位转LINE2执行
	MOV	A,DPL
	ADD	A,R2
	MOV	DPL,A
	MOV	A,DPH
	ADDC	A,#00H
	MOV	DPH,A		;将(DPTR)+(R2)送到DPTR中
	SJMP	LINE3		;转LINE3执行
LINE2:CLR	C
	MOV	A,DPL
	SUBB	A,R2
	MOV	DPL,A
	MOV	A.DPH
	SUBB	A,#00H
	MOV	DPH,A		;将(DPTR)-(R2)送到DPTR中
LINE3:DJNZ 	R3,LINE1	;R3不为0,转LINE1执行
	CLR	A
	CLR	C
	MOVC	A,@A+DPTR
	SUBB	A,R5
	MOV	A,#01H
	MOVC	A,@A+DPTR
 	SUBB	A,R4		;(DPTR)-(R4R5)有进位吗?
	JNC	LINE4		;无进位,转LINE4执行
	CLR	C
	MOV	A,DPL
	SUBB	A,R2
	MOV	DPL,A
	MOV	A,DPH
	SUBB	A,#00H
	MOV	DPH,A		;(DPTR)-(R2)送到DPTR中
LINE4:	MOV	A,#80H
	MOVC	A,@A+DPTR
	MOV	R6,A
	RET

⌨️ 快捷键说明

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