最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asm基礎(chǔ)——匯編指令之in/out指令

 更新時(shí)間:2020年01月20日 09:13:02   作者:jiangwei0512  
這篇文章主要介紹了asm基礎(chǔ)——匯編指令之in/out指令,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

x86中的IO端口訪問

匯編是直接面向硬件的,它可以訪問系統(tǒng)的mem空間,也可以直接訪問系統(tǒng)的io空間。

匯編中使用in/out來訪問系統(tǒng)的io空間。

IN

從端口輸入

OF

DF

IF

SF

ZF

AF

PF

CF

說明:從端口輸入一個(gè)字節(jié)或字到AL或AX中(IA-32處理器上可以輸入一個(gè)雙字到EAX)。源操作數(shù)是端口地址,可以是8位的常量或者DX中的一個(gè)16位地址。

指令格式:

in accum, imm (應(yīng)該不需要是8位,可以是16位,比如3F8h)
in accum, dx

下面是一個(gè)例子,對(duì)in做了一層包裝:

UINT8
IoRead8 (
 IN   UINTN           Port
 )
{
 UINT8  Data;
 
 __asm {
  mov dx, word ptr [Port]
  in al, dx
 
  mov Data, al
 }
 return Data;
}

OUT

輸出到端口。

OF

DF

IF

SF

ZF

AF

PF

CF

說明:將累加器中的一個(gè)字節(jié)或字輸出到端口(IA-32處理器上可以向端口輸出一個(gè)雙字)。端口地址如果在范圍0-FFh之間,可以是一個(gè)常量,也可以在DX中存放0-FFFFh之間的端口地址。

指令格式:

out imm8, accum(應(yīng)該不需要是8位,可以是16位,比如3F8h)
out dx, accum

下面是一個(gè)例子,對(duì)out做了一層包裝:

UINT8
IoWrite8 (
 IN   UINTN           Port,
 IN   UINT8           Value
 )
{
 __asm {
  mov al, byte ptr [Value]
  mov dx, word ptr [Port]
  out dx, al
 }
 return Value; 
}

注意,io地址要么是立即數(shù),要么放在dx寄存器中;而數(shù)據(jù)也都放在al/ax/eax寄存器中,不能是其他寄存器。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 匯編語言:比較指令、跳轉(zhuǎn)指令、JCC的使用

    匯編語言:比較指令、跳轉(zhuǎn)指令、JCC的使用

    這篇文章主要介紹了匯編語言:比較指令、跳轉(zhuǎn)指令、JCC的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 匯編實(shí)現(xiàn)直接插入排序的方法示例

    匯編實(shí)現(xiàn)直接插入排序的方法示例

    這篇文章主要介紹了匯編實(shí)現(xiàn)直接插入排序的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 純匯編實(shí)現(xiàn)打飛機(jī)小游戲的示例代碼

    純匯編實(shí)現(xiàn)打飛機(jī)小游戲的示例代碼

    這篇文章主要介紹了純匯編實(shí)現(xiàn)打飛機(jī)小游戲的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 匯編程序成績排序的實(shí)現(xiàn)

    匯編程序成績排序的實(shí)現(xiàn)

    這篇文章主要介紹了匯編程序成績排序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 匯編語言 寄存器內(nèi)存訪問原理解析

    匯編語言 寄存器內(nèi)存訪問原理解析

    這篇文章主要介紹了匯編語言 寄存器內(nèi)存訪問原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 計(jì)算機(jī)系統(tǒng)匯編語言和機(jī)器語言深入理解

    計(jì)算機(jī)系統(tǒng)匯編語言和機(jī)器語言深入理解

    這篇文章主要為大家介紹了計(jì)算機(jī)系統(tǒng)匯編語言和機(jī)器語言深入理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 8086匯編開發(fā)環(huán)境搭建和Debug模式介紹(圖文詳解)

    8086匯編開發(fā)環(huán)境搭建和Debug模式介紹(圖文詳解)

    這篇文章主要介紹了8086匯編開發(fā)環(huán)境搭建和Debug模式介紹,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 匯編語言 and和or邏輯運(yùn)算指令的實(shí)現(xiàn)

    匯編語言 and和or邏輯運(yùn)算指令的實(shí)現(xiàn)

    這篇文章主要介紹了匯編語言 and,or邏輯運(yùn)算指令的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • DEBUG 命令詳解

    DEBUG 命令詳解

    這篇文章主要介紹了DEBUG 命令詳解,需要的朋友可以參考下
    2006-12-12
  • 匯編語言80x86系統(tǒng)通用數(shù)據(jù)傳送指令詳解

    匯編語言80x86系統(tǒng)通用數(shù)據(jù)傳送指令詳解

    這篇文章主要為大家介紹了匯編語言80x86系統(tǒng)通用的數(shù)據(jù)傳送指令詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11

最新評(píng)論

庆元县| 武穴市| 沈丘县| 大石桥市| 长宁县| 宁远县| 沧源| 东阳市| 安图县| 靖安县| 西华县| 大冶市| 利辛县| 沧源| 沙坪坝区| 政和县| 南昌县| 金秀| 义马市| 吴桥县| 图片| 新蔡县| 天津市| 韶山市| 绵竹市| 农安县| 怀柔区| 通海县| 定兴县| 黎川县| 抚宁县| 乡城县| 务川| 马鞍山市| 阳高县| 建宁县| 通城县| 兴安盟| 海林市| 伊川县| 张家界市|