日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

实模式与保护模式详解三:寻址方式

發布時間:2025/6/17 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实模式与保护模式详解三:寻址方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

尋找操作數物理地址的方式叫尋址方式

操作數的存放點

  • 操作數在指令中
    指令的操作數部分就是操作數本身
    也叫立即數

  • 操作數存放在CPU寄存器中
    指令的操作數部分是寄存器的編碼
    也叫寄存器操作數

  • 操作數存放在內存中
    指令的操作數部分包含操作數所在的內存地址
    也叫儲存器操作數

  • 尋址方式

  • 立即數尋址
    e.g.
    MOV AL, 10H
    特點:操作數直接放在指令中
  • 寄存器尋址
    INC SI
    特點:指令中需給出寄存器名,寄存器中的內容即為操作數
  • 儲存器尋址方式
  • 直接尋址
    例子
    MOV AL,[2000H] ; AL ← PA=DSx16+2000
    特點: p指令中直接給出有效地址EA:8位或16位位移量。 PA = (段寄存器)X 10H +指令中的EA 。 默認方式下:段寄存器是數據段DS。段跨越:指令增加段寄存器名前綴:CS,ES,SS等

  • 寄存器間接尋址方式
    例子
    MOV AX,[SI] ;AX ← DSx16 + [SI],[SI+1]
    MOV BH,[BP] ;BH ← SSx16 + BP
    MOV CX,ES:[BX] ;將ES段[BX][BX+1]內容送CL,CH
    特點: 操作數的有效地址EA在寄存器中。 對16位尋址,EA只能放在DI、SI、BX、 BP中 ,若EA在DI、SI、BX中,默認段為數據段DS ,若EA在BP中,默認段為堆棧段SS ,支持段跨越。

  • 寄存器相對尋址方式
    例子
    MOV AX, [BX+10H] ; EA=(BX)+10H
    特點 :給定基址/變址寄存器和相對偏移量,兩者之和為EA。 寄存器BX、SI、DI默認是數據段DS,寄存器BP默認堆棧段SS。 支持段跨越。

  • 基址變址尋址方式
    例子
    MOV AX, [BX+SI] ; EA=(BX)+(SI) ;DS段
    特點:有效地址EA是基址寄存器與變址寄存器的和。 默認段由基址寄存器決定。 支持段跨越。

  • 相對基址變址尋址方式
    特點 :有效地址EA是基址寄存器+變址寄存器+偏移量三者之和。 基址寄存器可取BX或BP,變址寄存器可取SI或DI。 段寄存器由基址寄存器決定 p基址寄存器是BX,則默認段為DS; p基址寄存器是BP,則默認段為SS。

  • 尋址時寄存器的使用約束
    4. 一條指令的原操作數與目的操作數不能同時用存儲器方式表示
    如:
    MOV [EAX + 4], DS:[100]
    MOV [SI], [DI]
    5. 雙操作數有一操作數為立即數方式時,立即方式只能用于源操作數
    6. 兩個操作數的類型都明確時,源操作數不能比目標操作數長度要相同。不含變量的存儲器方式類型是不明確的,立即數時沒有類型的。當兩個操作數類型都不明確時,需要用屬性定義算符PTR指明其中一個操作數類型

    總結

    以上是生活随笔為你收集整理的实模式与保护模式详解三:寻址方式的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。