opn db100
l 0
lar1
l 3500
itd
rld 3
+ar1
l dbw [ar1, p#0.0] //讀出db100.dbw3500
但是當(dāng)?shù)刂?gt;4095后,由于4096的值 rld 3 后所的值已經(jīng)大于等于32768
造成ar1中的值錯誤 (很大的數(shù)值)。
所以此時左移3位已經(jīng)不能獲得正確的地址值。
請教各位有什么其它解決方法?謝謝。
答:程序可以簡化為下圖中的程序:
l#4500是雙字常數(shù),這樣就沒有4095的限制了。
地址指針常數(shù)p#4500.0的字節(jié)地址為4500,字節(jié)內(nèi)的位地址為0,p#4500.0相當(dāng)于3500與8的乘積(以位為單位的整數(shù))。rld 3(左移3位)相當(dāng)于乘以8。