?? 查表—rom表的 程序設計.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 + -