彙編7種尋址方式

原文鏈接:https://www.cnblogs.com/jadeshu/p/10663543.html
覺得寫的言簡意賅,存一下。如果介意,立馬刪除。

8086/8088有7種基本的尋址方式:立即尋址,寄存器尋址,直接尋址,寄存器間接尋址,寄存器相對尋址,基址變址尋址,相對基址變址尋址。

1 立即數尋址
操作數就在指令中,作爲指令的一部分,跟在操作碼後存放在代碼段。

eg.   MOV AH,01H
	  MOV AX,1204H ;如果立即數是16位的,則高地址放在高位,低地址放在低位

2 寄存器尋址
操作數在寄存器中,指令中指定寄存器號。
  對於8位操作數,寄存器可以是AL,AH,BL,BH,CL,CH,DL,DH。
  對於16位操作數,寄存器可以是AX,BX,CX,DX,BP,SP,SI,DI等。

 eg.   MOV AH,CH
       MOV BX,AX

3 直接尋址方式
操作數在內存單元中,指令直接包含操作數的有效地址EA。

 eg.   MOV AX,[1122H]   ;將ds:1122的數據放在ax,默認段爲DS
       MOV ES:[1234],AL ;採用了段前綴

4 寄存器間接尋址
操作數在內存單元中,操作數的有效地址在SI,DI,BX,BP這4個寄存器之一中。在不採用段前綴的情況下, 對於DI,SI,BX默認段爲DS,而BP爲SS。

 eg.   MOV AH,[BX]
       MOV AH,CS:[BX] ;使用了段前綴

5 寄存器相對尋址
操作數在內存單元中,操作數的有效地址是一個基址寄存器(BX,BP) 變址寄存器(SI,DI) 的內容加上偏移量。

eg.   MOV AH,[BX+6];段址默認情況與寄存器間接尋址相同

6 基址加變址尋址
操作數在內存單元中,操作數的有效地址是一個基址寄存器(BX,BP) 加上 變址寄存器(SI,DI) 的內容。如果有BP,則默認段址爲SS,否則爲DS。

eg.   MOV AH,[BX+SI]

7 相對基址加變址尋址
操作數在內存單元中,操作數的有效地址是一個基址寄存器(BX,BP) 變址寄存器(SI,DI) 的內容加上偏移量。如果有BP,則默認段址爲SS,否則爲DS。

eg.   MOV AX,[BX+DI-2]
      MOV AX,1234H[BX][DI]

上面3~7爲存儲器尋址方式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章