首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 組合語言

匯編基礎:尋址方式全解析(寄存器、立即數、存儲器、I/O)

     編輯:組合語言

四大操作數類型

  1. 寄存器操作數
  2. 立即數操作數
  3. 存儲器操作數
  4. I/O 操作數

1. 寄存器尋址

操作數在通用/段寄存器。速度最快,指令最短。例:MOV AX, BX。

2. 立即數尋址

操作數直接編碼在指令中。例:MOV AX, 1234H。

3. 存儲器尋址 (核心)

有效地址 EA = 位移量 + 基址 + 變址。六種模式:

  1. 直接尋址:EA = 位移量。MOV BX, VAR、MOV AX, [1234H]。
  2. 寄存器間接尋址:EA = BX/SI/DI (DS 段) 或 BP (SS 段)。
  3. 基址/變址尋址:EA = BX/BP/SI/DI + 8/16 位位移量。
  4. 基址變址尋址:EA = BX/BP + SI/DI + 位移量。前三種皆為其特例。
  5. 相對基址變址尋址:同基址變址,強調位移量相對性。
  6. 串操作尋址:隱含 SI (DS)、DI (ES),自動修改指針,方向由 DF 決定。

地址表達式多種等價寫法:VAR[BX][SI] = [BX+SI+VAR] 等。物理地址 = 段基值×16 + EA。

4. I/O 尋址

IN AL, PORT / OUT PORT, AL。DOS/BIOS 內部亦依賴 I/O 指令驅動硬件。

小結

存儲器尋址靈活多變,掌握 EA 計算與段基值轉換是訪問數據關鍵。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved