指針程序修改
劉玉蓉
發(fā)布于2014-10-21 17:19
214
0
標簽:
這里有用寄存器間接尋址編的程序,可否用存儲器間接尋址改寫,達到同樣效果。
將PIW128- PIW137,共100個字送入DB10中:
如果用直接尋址,一取一送兩個指令要重復100遍。如用指針變址與循環(huán)語句:
在OB1:
OPN DB 10 //打開DB 10
L P#128.0 //初始讀指針
LAR1
L P#0.0 //初始寫指針
LAR2
L 100 // 1100個字的循環(huán)計數為初值
M001: T MB 10 //計數值 送入MB 10
L PIW [AR1,P#0.0] //按讀指針指示的地址讀數據
T DBW [AR2,P#0.0] //按寫指針指示的地址寫數據
+AR1 P#2.0 //讀指針指向下一數據地址
+AR2 P#2.0 //寫指針指向下一數據地址
L MB 10 //取循環(huán)計數值
LOOP M001 //循環(huán)計數值如為0則結束循環(huán);如不為0減1后則轉向標號為M001的語句,繼續(xù)循環(huán)。
這是一個簡單實例,如果不同地址執(zhí)行同一程序,這個程序是一復雜的過程則更能顯示應用變址的好處。
佳答案
OPN DB 10 //打開DB 10
L P#128.0 //初始讀指針
T MD100
L P#0.0 //初始寫指針
T MD200
L 100 // 1100個字的循環(huán)計數為初值
M001: T MB 10 //計數值 送入MB 10
L PIW [MD100] //按讀指針指示的地址讀數據
T DBW [MD200] //按寫指針指示的地址寫數據
L P#2.0
L MD100
+ D
T MD100
TAK
L MD200
+ D
T MD200
L MB 10 //取循環(huán)計數值
LOOP M001 //循環(huán)計數值如為0則結束循環(huán);如不為0減1后則轉向標號為M001的語句,繼續(xù)循環(huán)。
這是一個簡單實例,如果不同地址執(zhí)行同一程序,這個程序是一復雜的過程則更能顯示應用變址的好處。