📄 chabiaoram.asm
字号:
;;;RAM表的程序设计
;;;;读出表
;;;;设表格的数据均为三字节数据,表格存放于外部RAM中。
;;;;查表时按寄存器R2,R3的内容找出对应的数据送到R6,R2,R3中。
;;;;表格存放于64KB的任意位置。
FRAM_READ:MOV R6,#00H ;;计算表头地址
MOV R7,#01H
LCALL NSUB_SUB ;;将(R2,R3)减一后送到R4,R5中
MOV A,R5
MOV R7,A
CLR C
RLC A
XCH A,R4
MOV R6,A
RLC A
XCH A,R4
ADD A,DPL
MOV DPL,A
MOV R3,A
MOV A,DPH
ADDC A,R4
MOV DPH, A ;;计算:(R2R3)*2+(DPTR)
MOV R3,A
LCALL NADD_SUB
MOV A,R4
MOV DPH, A
MOV A,R5
MOV DPL,A
MOVX A,@DPTR ;;查表取第一个字节并送R6中
MOV R6,A
INC DPTR
MOVX A,@DPTR ;;查表取第2个字节并送R2中
MOV R2,A
INC DPTR
MOVX A,@DPTR ;;; ;;查表取第3个字节并送R3中
MOV R3,A
RET
NSUB_SUB:MOV A,R3
CLR C
SUBB A,R7
MOV R5,A
MOV A,R2
SUBB A,R5
MOV R4,A
RET
NADD_SUB:MOV A,R3
ADD A,R7
MOV R6,A
MOV A,R3
ADDC A,R6
MOV R4,A
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -