比如交叉區(qū)域?qū)ぶ繁硎緸椋涸L問寬度[arx,偏移量] 中的訪問寬度應(yīng)該多少? 這里沒有訪問寬度不應(yīng)該有存儲器符號嗎?
答:
1、32位指針與訪問寬度應(yīng)該多少?
其0-2bit,指定bit位,3-18bit指定byte字節(jié)。其第31bit固定為0。
ar:
0000 0000 0000 0bbb bbbb bbbb bbbb bxxx
這樣規(guī)定,就意味著ar的取值只能是:0.0 ——65535.7
2、這里沒有訪問寬度不應(yīng)該有存儲器符號嗎?
、上述32位指針形式只是指明數(shù)值單元。
、 而在區(qū)域間寄存器間接尋址中,由于要尋址的區(qū)域也要在ar中指定,顯然這時(shí)的ar中內(nèi)容肯定于寄存器區(qū)域內(nèi)間接尋址時(shí),對ar內(nèi)容的要求,或者說規(guī)定不同。
ar:
1000 0yyy 0000 0bbb bbbb bbbb bbbb bxxx
比較一下兩種格式的不同,我們發(fā)現(xiàn),這里的第31bit被固定為1,同時(shí),第24、25、26位有了可以取值的范圍。聰明的你,肯定可以聯(lián)想到,這是用于指定存儲區(qū)域的。對,bit24-26的取值確定了要尋址的區(qū)域,它的取值是這樣定義的:
26、25、24位
p(外部輸入輸出):000
i(輸入映像區(qū)) :001
q(輸出映像區(qū)) :010
m(位存儲區(qū)) ?。?11
db(數(shù)據(jù)塊) :100
di(背景數(shù)據(jù)塊):101
l(暫存數(shù)據(jù)區(qū),也叫局域數(shù)據(jù))?。?11
如果我們把這樣的ar內(nèi)容,用hex表示的話,那么就有:
當(dāng)是對p區(qū)域?qū)ぶ窌r(shí),ar=800xxxxx
當(dāng)是對i區(qū)域?qū)ぶ窌r(shí),ar=810xxxxx
當(dāng)是對q區(qū)域?qū)ぶ窌r(shí),ar=820xxxxx
當(dāng)是對m區(qū)域?qū)ぶ窌r(shí),ar=830xxxxx
當(dāng)是對db區(qū)域?qū)ぶ窌r(shí),ar=840xxxxx
當(dāng)是對di區(qū)域?qū)ぶ窌r(shí),ar=850xxxxx
當(dāng)是對l區(qū)域?qū)ぶ窌r(shí),ar=870xxxxx
經(jīng)過列舉,:如果ar中的內(nèi)容是8開頭,那么就一定是區(qū)域間尋址;如果要在db區(qū)中進(jìn)行尋址,只需在8后面跟上一個(gè)40。84000000-840fffff指明了要尋址的范圍是:db區(qū)的0.0——65535.7。