日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

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

發(fā)布時(shí)間:2025/6/17 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实模式与保护模式详解三:寻址方式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

尋找操作數(shù)物理地址的方式叫尋址方式

操作數(shù)的存放點(diǎn)

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

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

  • 操作數(shù)存放在內(nèi)存中
    指令的操作數(shù)部分包含操作數(shù)所在的內(nèi)存地址
    也叫儲存器操作數(shù)

  • 尋址方式

  • 立即數(shù)尋址
    e.g.
    MOV AL, 10H
    特點(diǎn):操作數(shù)直接放在指令中
  • 寄存器尋址
    INC SI
    特點(diǎn):指令中需給出寄存器名,寄存器中的內(nèi)容即為操作數(shù)
  • 儲存器尋址方式
  • 直接尋址
    例子
    MOV AL,[2000H] ; AL ← PA=DSx16+2000
    特點(diǎn): p指令中直接給出有效地址EA:8位或16位位移量。 PA = (段寄存器)X 10H +指令中的EA 。 默認(rèn)方式下:段寄存器是數(shù)據(jù)段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]內(nèi)容送CL,CH
    特點(diǎn): 操作數(shù)的有效地址EA在寄存器中。 對16位尋址,EA只能放在DI、SI、BX、 BP中 ,若EA在DI、SI、BX中,默認(rèn)段為數(shù)據(jù)段DS ,若EA在BP中,默認(rèn)段為堆棧段SS ,支持段跨越。

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

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

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

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

    總結(jié)

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

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。