国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

如何讀寫硬件端口

2019-11-17 05:33:42
字體:
來源:轉載
供稿:網友

  BCB中利用__emit__函數可以直接將二進制程序代碼嵌入程序中,這樣就可以實現一些底層的操作。由于直接操作系統底層,這種方法可能會導致系統的不穩定。

下面是利用__emit__函數讀寫硬件端口的方法。

//讀端口
//port參數為輸入端口地址,value為返回值.
unsigned char __fastcall inportb(unsigned short int port)
{
unsigned char value;
__emit__(0x8b,0x95,&port); //把端口地址送到EDX寄存器中
__emit__(0x66,0xec); //從端口中讀入數據到AL寄存器中
__emit__(0x88,0x85,&value); //把AL寄存器中的值輔給value
return value;
}

//---------------------------------------------------------------------------

//寫端口

//port參數為輸出端口地址,value參數為輸出值
void __fastcall outportb(unsigned short int port,unsigned char value)
{
  __emit__(0x8b,0x95,&port); //把端口地址送到EDX寄存器中
  __emit__(0x8a,0x85,&value); //把value送到AL寄存器中
  __emit__(0x66,0xee); //把AL寄存器中的值寫入端口
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永和县| 合肥市| 西丰县| 黎川县| 红河县| 长兴县| 阿勒泰市| 清新县| 辽宁省| 六盘水市| 威宁| 阿鲁科尔沁旗| 神农架林区| 凯里市| 忻州市| 阿勒泰市| 泗水县| 汉沽区| 台中市| 湘阴县| 太仆寺旗| 皮山县| 黑龙江省| 陆河县| 泾源县| 太原市| 昌图县| 望都县| 绥棱县| 房山区| 定边县| 习水县| 鹿泉市| 曲松县| 巢湖市| 辽阳市| 衡山县| 正阳县| 日土县| 宜宾市| 乐昌市|