存儲(chǔ)器操作數(shù)的尋址方式有:直接尋址、寄存器間接尋址、寄存器相對尋址、基址變址尋址、基址變址相對尋址。
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的怒江州網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
存儲(chǔ)器操作數(shù)的尋址方式
TIPS:
?指令操作的對象在內(nèi)存中,表現(xiàn)形式為[ ]
? 指令給出運(yùn)算對象在內(nèi)存某個(gè)邏輯段中的偏移地址:[偏移地址]
?邏輯段的段基地址通過默認(rèn)或重設(shè)方式給出
?存儲(chǔ)器操作數(shù)的字長本身并不確定,其字長取決于另一個(gè)寄存器操作數(shù),或通過其他方式指定字長
1. 直接尋址
※ 指令直接給出操作數(shù)的偏移地址
eg:MOV AX,[1200H] ;將數(shù)據(jù)段1200H位置的內(nèi)容存放給AL中,1201H的內(nèi)容存放給AH中
※ 直接尋址方式下,操作數(shù)默認(rèn)在數(shù)據(jù)段,但允許段重設(shè),即由指令給出所在邏輯段
eg:MOV AX,ES:[1200H] ;將附加段1200 H位置的內(nèi)容存放給AL中,1201H的內(nèi)容存放給AH中
※個(gè)人理解:
加上[ ]就表示需要到寄存器以外的地方尋找地址了,此時(shí)應(yīng)首先考慮在存儲(chǔ)器的哪個(gè)段,然后直接找這個(gè)段中所給出的位置。一般來說默認(rèn)在數(shù)據(jù)段。
2. 寄存器間接尋址
※ 操作數(shù)存放在內(nèi)存中,數(shù)據(jù)在內(nèi)存中的偏移地址為方括號[ ]中通用寄存器的內(nèi)容。
※ 常用四個(gè)通用寄存器(這四個(gè)寄存器又叫做間址寄存器,分別是BX、BP、SI、DI),可用于存放數(shù)據(jù)的偏移地址。(間址寄存器又分為基址寄存器BX、BP和變址寄存器SI、DI)
※ 間接尋址的一般格式:
eg:MOV BX,1200H ;這里是立即尋址,即將操作數(shù)直接送給BX,此時(shí)BX=1200H
MOV AX,[BX] ;這里是[BX]=[1200H],所以就轉(zhuǎn)換成了直接尋址,只是多了BX這個(gè)中間代理,此時(shí)將代碼段中的偏移地址為1200H的單元內(nèi)容賦值給AL,1201H單元的內(nèi)容賦值給AH
※間接尋址就是由寄存器間接給出操作數(shù)的偏移地址
※操作數(shù)的段地址(操作數(shù)處于哪一個(gè)段)取決于選擇哪一個(gè)間址寄存器(可以段重設(shè))
※ BX、SI、DI默認(rèn)在數(shù)據(jù)段;BP默認(rèn)在堆棧段
※ 個(gè)人理解:
我們可以通過選擇的間址寄存器找到對應(yīng)段,然后通過段的偏移量找到物理位置。當(dāng)間接尋址時(shí),我們就可以找到源操作數(shù)的物理位置。
物理位置=段基地址*16+偏移地址。
3. 寄存器相對尋址
※ 操作數(shù)的偏移地址為寄存器的內(nèi)容加上一個(gè)位移量
※eg:MOV AX,2000H ;立即尋址,將2000H賦給AX
MOV DS,AX ;DS從AX這里獲得段首地址
MOV BX,1200H ;立即尋址,將1200H賦給BX
MOV AL,[BX]5 ;相對尋址,將位于段基地址為2000H,偏移量為1200H+5的內(nèi)容賦給AL
※ 相對尋址主要用于一維數(shù)組的操作
※ 常將位移量作為表頭地址,間址寄存器的值作為表內(nèi)相對地址(使用間會(huì)有常數(shù),會(huì)有不便)
※ 個(gè)人理解:
相對尋址就是在間接尋址的基礎(chǔ)上增加了一個(gè)位移常量,因此判別是間接尋址還是相對尋址的方法就是:看間址寄存器前后有沒有常量,有常量的就是相對尋址
4. 基址變址尋址
※ 操作數(shù)的偏移地址為:
一個(gè)基址寄存器(BX、BP)的內(nèi)容+一個(gè)變址寄存器(SI、DI)的內(nèi)容
※ 其中BX默認(rèn)在數(shù)據(jù)段BP默認(rèn)在堆棧段
※ 操作數(shù)的段地址由選擇的基址寄存器決定
※ 同相對尋址一樣,主要用于一維數(shù)組的操作
※eg:MOV SI,1100H ;立即尋址,1100H賦值給SI
MOV BX,SI ;將1100H賦值給BX
MOV AX,[SI+BX] ;源操作數(shù)的物理地址=數(shù)據(jù)段段基地址*16+1100H+1100H
※ 個(gè)人理解:
基址變址尋址就是先找到基址寄存器所在的段首地址,再加上基址寄存器偏移量和變址寄存器的偏移量。它所存在的特點(diǎn)是[BX][BP]兩者必有其一,[SI][DI]兩者必有其一
5. 基址變址相對尋址
※ 操作數(shù)的偏移地址為:
基址寄存器+變址寄存器+位移量
※ 操作數(shù)的段地址由選擇的基址寄存器決定
※基址變址相對尋址方式主要用于二維數(shù)組的操作
※eg:MOV DI,1100H ;立即尋址,將1100H賦給DI
MOV BP,DI ;將1100H賦給BP
MOV AL,[BP][DI]5 ;BP說明操作數(shù)在堆棧段,其物理地址=堆棧段段基地址*16+1100H+1100H+5
※個(gè)人理解:
基址變址相對尋址只是在基址變址的基礎(chǔ)上增加了一個(gè)常數(shù)偏移量,其源操作數(shù)的物理地址便可以由此把握。
更多相關(guān)知識,請?jiān)L問:PHP中文網(wǎng)!
網(wǎng)站欄目:存儲(chǔ)器操作數(shù)的尋址方式有哪幾種
文章鏈接:http://www.rwnh.cn/article42/cgpoec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、商城網(wǎng)站、用戶體驗(yàn)、關(guān)鍵詞優(yōu)化、做網(wǎng)站、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)