複製鏈接
請複製以下鏈接發送給好友

絕對尋址

鎖定
絕對尋址(absolute addressing)又稱“直接尋址”,絕對尋址利用尋址存儲單元,其特點是指令中包含一個固定地址。地址可以用其地址標號或程序中定義的符號參數來表示。由於絕對地址代碼的位數關係,會影響到絕對地址須知的指令的字長
絕對尋址是一種基本的尋址方法,其特點是:在指令格式的地址的字段中直接指出操作數在內存的地址。由於操作數的地址直接給出而不需要經過某種變換,所以稱這種尋址方式為直接尋址方式。在指令中直接給出參與運算的操作數及運算結果所存放的主存地址,即在指令中直接給出有效地址。
中文名
絕對尋址
外文名
absolute addressing
定 義
又稱為直接尋址
應用學科
計算機原理術語

目錄

絕對尋址概念

絕對尋址(absolute addressing)又稱“直接尋址”,絕對尋址利用尋址存儲單元,其特點是指令中包含一個固定地址。地址可以用其地址標號或程序中定義的符號參數來表示。由於絕對地址代碼的位數關係,會影響到絕對地址須知的指令的字長
絕對尋址是一種基本的尋址方法,其特點是:在指令格式的地址的字段中直接指出操作數在內存的地址。由於操作數的地址直接給出而不需要經過某種變換,所以稱這種尋址方式為直接尋址方式。在指令中直接給出參與運算的操作數及運算結果所存放的主存地址,即在指令中直接給出有效地址。
指令格式的地址字段中直接指出操作數在內存的地址ID 。在通常情況下,操作數存放在數據段中,所以,其物理地址將由數據段寄存器DS和指令中給出的有效地址直接形成,但如果使用段超越前綴,那麼,操作數可存放在其它段。直接尋址方式常用於處理內存單元的數據,其操作數是內存變量的值。
以寄存器中的內容為地址,該地址的內容為操作數的尋址方式稱為寄存器間接尋址。能夠進行寄存器間接尋址的寄存器有:R0、R1、DPTR,用前面加@表示,如@R0、@R1、@DPTR。寄存器間接尋址的存儲空間包括內部數據存儲器和外部數據存儲器。由於內部數據存儲器共有128字節,因此用一字節的R0和R1可間接尋址整個空間。而外部數據存儲器最大可達64K,僅R0或R1無法尋址整個空間,為此需要由P2端口提供外部RAM高8位地址,由R0或R1提供低8位地址,由此共同尋址64K字節範圍。也可用16位的DPTR寄存器間接尋址64K字節存儲空間。 [1] 

絕對尋址基本原理

採用絕對尋址的指令皆為三字節指令。指令的操作數部分給出的是操作數在存貯器中的有效地址,稱為絕對地址,又稱直接地址。
由於操作數地址是用兩個字節(十六位)表示,所以它可以是整個64K存貯器中的任何一個地址。但是注意,這種尋址方式的指令表示成機器碼時,操作數地址是低字節在前,高字節在後。
立即尋址方式和直接尋址方式的書寫格式的不同。在程序中,直接尋址的地址要寫在括號“[]”內,立即地址通常用內存變量名來表示,如:MOV BX, VARW,其中,VARW是內存字變量;直接尋址如:MOV AX [2000H]。
在直接尋址中,指令操作數字段中存放的是操作數的16位偏移地址EA,即操作數的偏移地址EA和操作碼一起存放在代碼段中,而操作數可以存放在數據段,也可以存放在其它段,操作數的物理地址由其所在段的寄存器內容左移4位與指令中給出的偏移地址EA相加形成。物理地址PH=(DS)*10H+EA(Disp)EA可以用符號或數值表示。如果用數值表示EA則必須用括號括起來,而且是在方括號前應給出段寄存器名,直接尋址的操作數可以是字或字節。
如果沒有特殊説明,直接尋址的操作數一般在內存的數據段中,即隱含的段寄存器是DS。但是8086/8088也允許段超越,即允許使用CS,SS,ES作為段寄存器,此時需要在指令中特別標明,方法是在有關操作數的前面協商寄存器的名字,再加上冒號。 [2] 
參考資料
  • 1.    榮樹熙,張開敬編.6502微處理機及其應用:人民郵電出版社,1984.12
  • 2.    何小海主編.微機原理與接口技術.北京:中國科學院出版社,2006