0401 定址方式

2021-10-07 17:43:36 字數 1347 閱讀 8949

組合語言有彙編指令、偽指令、巨集指令

彙編指令由 操作碼+運算元1+運算元2 組成,運算元欄位由暫存器、記憶體單元位址、埠位址和立即數(乙個十進位制數,例如』5』)

雙運算元指令\單運算元\無運算元

push ax,ax必須是2個位元組 單運算元

nop:空操作指令,什麼操作也不做

clc:進製標誌cf清零

hal:停機指令

兩個指標:指令執行時間,指令占用空間

立即數定址方式:所要找的運算元直接寫在指令中,這種運算元叫立即數.指令中有立即數的定址方式叫立即定址.這個立即數在**段位址cs裡

注意:立即定址只能用於源運算元字段;立即數的資料型別必須與目的運算元的型別一致,都是字或位元組

**暫存器定址方式:**暫存器可以是8位,16位.cpu在暫存器中得到資料不用訪問記憶體

**儲存器定址方式:**cpu必須經過系統匯流排訪問儲存器,儲存器的位址以邏輯位址形式表示,因此這一類定址方式在指令中要表示出有效位址ea.雙運算元不允許都是儲存單元

(1)直接定址方式

運算元存放在記憶體中,指令形如:mov ax, ds:[2000h] 有效位址ea=2000h直接寫在指令裡,如果沒有ds標記,預設是ds

儲存器讀/寫操作

寫操作:把mov指令的目的運算元變為儲存單元,源運算元為cpu的儲存器

讀操作:把mov指令的源運算元變為儲存單元,目的運算元為cpu的儲存器

符號位址

為儲存單元定義乙個名字,改名字就是符號位址.符號位址可以加括號也可以是不加括號.

(2)暫存器間接定址方式

mov ax ,[bx]

運算元的ea在基址暫存器bx,bp或變址暫存器si、di中,運算元的段位址在資料段ds[bx +si/di]或堆疊段ss[bp+si/di]中,也可以用段超越

(3)暫存器相對定址方式

運算元存放在記憶體中。指令形如:mov ax,[bx +1234h]

mov ax,count[di] 注釋:前面的count是乙個符號位址,如果是bp的話要用段位址ss

(4)基址變址定址方式

mov ax,[bx+si]

運算元的ea是乙個基址暫存器和乙個變址暫存器的內容之和

ds【bx+si、bx+di】 ss【bp+si,bp+di】*****===?

(5)相對基址變址定址方式

mov ax,[bx+si+1243h]

定址 定址方式

定址方式就是處理器根據指令中給出的位址資訊來尋找實體地址的方式。在儲存器中,運算元或指令字寫入或讀出的方式,有位址指定方式 相聯儲存方式和堆疊訪問方式。幾乎所有的計算機,在記憶體中都採用位址指定方式。當採用位址指定方式時,形成運算元或指令位址的方式稱為定址方式。定址方式分為兩類,即指令定址方式和資料...

七種定址方式 直接定址方式

指令所要的運算元存放在記憶體中,在指令中直接給出該運算元的有效位址,這種定址方式為直接定址方式。在通常情況下,運算元存放在資料段中,所以,其實體地址將由資料段暫存器ds和指令中給出的有效位址直接形成,但如果使用段超越字首,那麼,運算元可存放在其它段。例 假設有指令 mov bx,1234h 在執行時...

定址方式總結

當運算元存放在儲存器時,儲存單元的實體地址有兩部分 段位址和偏移位址.指令中運算元也可以不在基本規定的段區內,必須在指令中指定段暫存器,即段超越.訪問的約定段及段超越 可修改段 如下所示 訪問方式 預設段偏移位址 段超越取指令 csip 堆疊操作 sssp 源串ds sics,es,ss 目的串es...