那些年,我們一起學過的彙編 之定址方式 二

2021-09-21 23:32:28 字數 806 閱讀 1428

3、基址定址/變址定址

使用bx/bp定址時即成為基址定址,使用si/di時,即成為變址定址。

或者使用基址定址/變址定址的示例如下:

mov al, 10h[bx];等價於mov  ax, ds:10h[bx] 

mov al, 20h[si];等價於mov  al, ds:20h[si] 

mov ah, es:30h[bx] 

例:mov

設(ds)=2000h, (bx)=20h, (20030h)=1234h, 則運算元的實體地址=16*2000h+10h

+20h=20030h, 執行結果是(ax)=1234h

4、基址變址定址

如果基址暫存器為bx,那麼隱含使用的資料段暫存器ds,如果基址暫存器為bp。則隱含使用的是堆疊暫存器ss那麼以指定的段暫存器為準,因此,運算元的實體地址為:

或者 使用基址變址定址的方式示例如下:

mov var[bx][si], ax 

mov [bx+var][si], ax 

mov [bx][si+var], ax 

mov [bx+si+var], ax 

例:mov

設(ds)=2000h, (bx)=1000h, (si)=3000h, (24010h)=1234h.則

運算元的實體地址=16*2000h+1000h+3000h+10h=24010h, 執行結果(ax)=1234h

5、串操作定址

四、i/o定址

1、輸入指令

2、輸出指令

那些年,我們一起學過的彙編 之跳轉指令

一 無條件轉移指令 1 段內轉移 a 段內轉移直接定址 段內轉移直接定址 執行的操作ip ip target與jmp指令的下一條指令的16位位移量距離。b 段內轉移間接定址 在jmp ip 通用暫存器reg的記憶體 在jmp ip 字儲存單元addr的記憶體 2 段間轉移 a 段間轉移直接定址 jm...

那些年,我們一起學過的彙編 之子程式設計

一 子程式的呼叫與返回 1 子程式的定義 proc name proc near far proc name endp 其中proc name為子程式名,也極為call的運算元,自程式具有3個屬性 段屬性 偏移量屬性和型別屬性,段屬性表示該子程式所在段的段基值。偏移量屬性表示該子程式在段中的偏移量。...

那些年,我們一起學過的彙編 之標誌暫存器

intel 8086 8088cpu設定了乙個16位的標誌暫存器,用來反映微處理器的當前狀態和某些控制,標誌暫存器中有9個標誌位,分為兩大類 狀態標誌 cf,pf,af,zf,sf,of 和控制標誌 tf,if,df 狀態標誌由cpu根據運算結果自動設定,用來反映cpu的執行單元eu執行算術運算或邏...