第二章 微機指令

第二章 微機指令spa

1、存儲單元的地址和內容字符串

  8086爲字長16位存儲器字符

  SP…IP…BP…關於地址的都是16位的

  注:存儲器的物理地址由20條地址總線控制,一個字放入存儲器中佔用兩個單元,低字節放在低地址中,高字節放在高地址中。

  A20位的物理地址的組成

    在1M的字節存儲器裏,每個存儲單元都有一個20位地址,由16位的段地址和16位的偏移地址組成

  段地址左移四位偏移地址物理地址(PA

  16* + 偏移 --> 變成20

  B邏輯地址和物理地址

    邏輯地址:由段基址和段內偏移地址組成的叫邏輯地址

    物理地址:存儲器的絕對地址,範圍從00000~FFFFF,由CPU訪問存儲器時,由地址總線發出的地址信息

 

操做類型 段基址 偏移地址 物理地址

取指令 CS IP CS*16+IP

堆棧操做 SS SP SS*16+SP

源字符串 DS SI DS*16+SI

目的字符串 ES DI ES*16+DI

 

尋址方式

  1、當即數尋址方式

    MOV AL,05H #AL爲源,05H爲目的

    MOV AX,0102H

  2、寄存器尋址方式

    8位:AHALBHBLCHCLDHDL

       16位:AXBXCXDXSIDIBPSP

  段寄存器:CSDSSSES

  MOV AX,1234H

  MOV BX,AX

  3、存儲器尋址方式

    指令中給出操做數的主存地址信息(偏移地址,EA,也叫作有效地址)而段地址在指定的段寄存器中

  ①:直接尋址方式:有效地址在指令中直接給出,默認的段地址是存放在DS段寄存器中的

  MOV AX,[2000H] #[2000H]表示一個地址,在DS

  MOV AX,ES:[2000H] #[2000H]ES

  ②:寄存器間接尋址:有效地址存放在基址寄存器BX 或變址寄存器SIDI 中,默認的段地址在DS段寄存器中

  MOV AX,[SI] #[SI] -->間接 中括號裏只能放SIDI

  ③:寄存器相對尋址:有效地址是寄存器內容與有符號8位或16位位移量之和,寄存器能夠是BX/BPSI/DI,有效地址=BX/BP/SI/DI+8/16位位移量,段地址對應BX/SI/DI,寄存器仍是默認在DS中,BP對應在SS

  MOV AX,[DI+06H] #DS

  MOV AX,[BP+06H] #SS

  ④:基址變址尋址方式:有效地址由基址寄存器BXBP內容加上變址寄存器,SIDI的內容

  有效地址=BX/BP+SI/DI #BX默認在DS中,BP默認在SS

  MOV AX,[BX+SI]

  ⑤:相對基址變址尋址方式:有效地址是一個基址寄存器,BXBP,變址寄存器,SIDI與一個8位或16位的位移量之和

  有效地址=BX/BP+SI/DI+8/16位位偏移量 #BX默認在DS中,BP默認在SS

相關文章
相關標籤/搜索