8086可以對寄存器 - 位尋址嗎

來源:魅力女性吧 1.66W
8086可以對寄存器 位尋址嗎

可以

尋址方式就是尋找指令或操作數存放地址的方法。8086提供了8種操作方式,理解這8種尋址方式要聯繫8086微處理器的結構來學習。

尋址是去找指令或者操作數的存放的地址的,也就是去尋找操作數,最直接的尋址方式就是立即尋址方式,操作數直接就在指令之中。

例:MOV AX,1234H 直接將16進制數1234H存入寄存器AX中。

還可以對內存進行訪問,8位為一個字節,對內存中的每一個字節都編了號的,這個就是地址。只要知道了地址就可行了,地址既可以通過直接給出(直接尋址方式),也可以用計算得到。

例:MOV AX,[5634H] 用中括號括起來表示將其中的內容作為地址(偏移地址),還需通過加法器跟段寄存器中的地址相加,才能獲得20位得物理地址。

8086微處理器可以對寄存器與寄存器之間進行操作,其操作在CPU內部完成。即,寄存器尋址方式。

例:MOV AX,BX AX,BX均為寄存器。

還有寄存器間接尋址方式,將寄存器中的內容作為偏移量。

例:MOV AX,[BX] 用中括號將BX括起來表示將BX中的值作為地址。

基址變址尋址方式:其有效地址由一個基址寄存器和一個變址寄存器得方式確定,不能兩者均為變址寄存器。

例:MOV AX,[BX][SI]

MOV AX,[BX+SI]

MOV AX,CS:[BX+SI]

在上邊即基礎上在加上一個位移量,也可找到一個地址,這種方式叫做相對基址變址尋址方式。

例:MOV AX,TABLE[BX][SI]

MOV AX,TABLE[BX+SI]

mov AX,[BX+SI+TABLE] 上面三種方式等價

跟寄存器間接尋址差不多得還有寄存器相對間接尋址方式,在上面得基礎上面在加上一個位移量。這樣同樣可容易找到所存儲得位置,如果兩個均為沒有基地址則會出錯。

例:MOV CL,[BX+2000H] [位移量+基址寄存器名或變址寄存器名]

MOV AX,20H[SI] 位移量[基址寄存器名或變址寄存器名]

若選擇BX,SI,或DI寄存器提供得基地址或變地址,則操作數一般用DS提供基址,若選擇BP寄存器提供得基地址或變地址,則操作數在堆疊段,一般用SS提供基址。

除上述七種尋址方式外還有一類特殊得尋址方式,即隱含尋址。隱含尋址就是在指令中不出現操作數,但指令本身隱含指示了操作數得來源。

熱門標籤