亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASM > 正文

CB和匯編混合編程

2019-11-17 05:43:46
字體:
供稿:網(wǎng)友
  我在寫定時提醒 時碰到一個問題:怎么發(fā)聲?我開始是用 32 位 Windows 的 API 函數(shù) MessageBeep( -1 ); 那聲音又小又難聽。原來在 16 位的 Windows API 中有的一套 PlaySound 的函數(shù)在 32 位 Windows 中又取消了, DOS 下的 Sound 函數(shù)更是早就不能用了。

幸好我對硬件還算了解,知道 PC Speaker 的聲音是通過系統(tǒng)中的定時計數(shù)芯片 8253/8254 產(chǎn)生的,只要通過硬件端口訪問芯片就可以產(chǎn)生想要的聲音了。 問題在于 Windows 是工作在保護(hù)模式下,大多數(shù)硬件端口都要在特權(quán)級0(PL0, 這是搞硬件的人的說法,后來我才知道在搞 OS 和 Driver 的人中是叫 Ring 0 的, 這才比較正確,因為假如不是 Intel 的 CPU 可能就不叫 PL 了)中, 即操作系統(tǒng)核心態(tài)中,才可以訪問(比如硬盤口,訪問時是不會出錯,但結(jié)果不正確), 這也就意味著要寫成驅(qū)動程序的形式,天??! VxD 和 WDM 我都不會,怎么辦? 事實上沒有這么困難,像 PC Speaker 這種無傷大體的端口, Windows 是不保護(hù)的, 即在用戶態(tài)下也可以正常訪問。

現(xiàn)在還有一個問題就是用什么語句訪問端口? DOS 中 C 語言里的那幾個端口操作函數(shù)在 Windows 中都取消了,只好用匯編。我開始是用 ASM 語句插入?yún)R編代碼,結(jié)果發(fā)現(xiàn) BCB 在編譯時碰到 ASM 時會把 BCB 文件編譯成一個巨大的 ASM 文件, 再重新啟動匯編程序匯編,速度太慢。最后采用了我在 DOS 編程時常用的方法, 做一個單獨的 ASM 文件加入工程文件中。

下面是兩個用于發(fā)聲的函數(shù),最前面聲明了兩個外部 C 調(diào)用形式的函數(shù), 是兩個用匯編寫的字節(jié)端口輸入/輸出函數(shù),注重:在 C++ 中一定要注重外部函數(shù)應(yīng)為 C 調(diào)用形式。程序中多處強制類型轉(zhuǎn)換是為了不出現(xiàn)警告,我對程序一向要求 Error/Warning/Hint 全為 0。


extern "C" {
Byte InPortB( int aPort );
void OutPortB( int aPort, Byte aValue );
}

void __fastcall Sound( int aFreq )
{
if ( ( aFreq >= 20 ) && ( aFreq <= 20000 ) )
{
aFreq = 1193181 / aFreq;
Byte b = InPortB( 0x61 );
if ( ( b & 3 ) == 0 )
{
OutPortB( 0x61, Byte( b 3 ) );
OutPortB( 0x43, 0xb6 );
}
OutPortB( 0x42, ( Byte )aFreq );
OutPortB( 0x42, ( Byte )( aFreq >> 8 ) );
}
}

void __fastcall NoSound( void )
{
Byte b = Byte( InPortB( 0x61 ) & 0xfc );
OutPortB( 0x61, b );
}


下面是兩個端口 I/O 的函數(shù)的匯編源程序,即定時提醒(Alarm)中的 IOPortB.asm 文件的全部內(nèi)容,是在 BCB 產(chǎn)生的 ASM 文件基礎(chǔ)上作了一點點的優(yōu)化。 注重:
1 、最前面的 .386p 必不可少,指定用 32 位保護(hù)模式,至于 modal flat 我也不太明白是 What ,跟 16 位時的 tiny, small... 不同,大概是指用 32 位保護(hù)模式的平坦地址間模式吧;
2 、在 32 位保護(hù)模式中, CS/ip 為 32 位,參數(shù)在棧中的位置與 16 位時不同;
3 、最后的 public 也不可少,前綴的下劃線也是必須的,另外記得用大小寫敏感方式匯編。


.386p
model flat
_TEXT segment dWord public use32 ''CODE''

_InPortB PRoc near
push ebp
mov ebp, esp
mov dx, word ptr [ebp + 8]
in al, dx
pop ebp
ret
_InPortB endp

_OutPortB proc near
push ebp
mov ebp, esp
mov dx, word ptr [ebp + 8]
mov al, byte ptr [ebp + 12]

out dx, al
pop ebp
ret
_OutPortB endp

public _InPortB
public _OutPortB

_TEXT ends

end


注重:此法在 Windows NT 上行不通,因為 Windows NT 保護(hù)了所有的端口,必須用 WDM,連 VxD 也不行,它只用于 Windows 95 ,在 Windows 98 中也可以用,但 Windows NT 和 windows 2000 都不支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

日韩福利在线| 日韩精品久久久| 性chinese极品按摩| 成人性视频免费看| 欧美日韩国产色站一区二区三区| 伊人永久在线| 日本精品一区| 久久国产综合精品| 中文字幕一区在线播放| 精品视频一区二区观看| 国产精品高清网站| 国内精品久久久久久影院老狼| 精品一区二区三区蜜桃| 2017亚洲男人天堂| www.国产黄色| 在线 亚洲欧美在线综合一区| 91精彩视频在线观看| 日本午夜激情视频| 亚洲最大福利视频| 雨宫琴音一区二区在线| 国产99999| 欧美日韩三级电影在线| 日韩免费视频一区二区视频在线观看| 亚洲国产aⅴ精品一区二区| a√免费观看在线网址www| 日韩中文在线视频| 色诱色偷偷久久综合| 美女国内精品自产拍在线播放| 欧美性xxxx极品hd欧美| 秋霞欧美一区二区三区视频免费| 超碰在线超碰在线| 亚洲三级小视频| 亚洲va久久久噜噜噜久久狠狠| 国产3级在线观看| 国内精品嫩模av私拍在线观看| 欧美激情综合色综合啪啪五月| 做爰视频毛片视频| 激情综合色综合久久| www视频免费看| 成人看片在线观看| 欧美大尺度做爰床戏| 亚洲日本精品国产第一区| 偷偷要 色偷偷| 日韩精品欧美激情一区二区| 国产欧美短视频| 久久精品国产亚洲AV成人婷婷| 色婷婷久久久久swag精品| 亚洲自拍偷拍二区| 永久免费看黄网站| 激情五月婷婷久久| 成人av电影在线播放| 成人免费av电影| 国产乱子伦视频一区二区三区| 少妇精品久久久一区二区| 韩国视频理论视频久久| 欧美日韩一二三四| 女人黄色片免费| 国产综合久久久久久久久久久久| 精品久久久在线观看| 国产va免费精品高清在线观看| 天海翼在线观看视频| 国风产精品一区二区| 国产1卡2卡三卡四卡网站| 欧美人与性动交xxⅹxx| 久久久久久婷| 狠狠爱成人网| 日本久久国产| 成人线上视频| 一级片在线观看| 成人在线免费小视频| 国产精品-色哟哟| 91福利在线观看视频| 国产一区第一页| 偷拍一区二区三区四区| 国产精品高清免费在线观看| 麻豆一区二区在线| 亚洲人吸女人奶水| 精品国偷自产在线| 中国动漫在线观看完整版免费| 精品一区二区三区五区六区七区| 国产高清成人久久| 天堂社区在线视频| 精品国产1区2区| 免费91麻豆精品国产自产在线观看| 男人插女人视频在线观看| 黄页在线观看| 亚洲第一图区| 亚洲综合小说图片| 一级做a爰片久久毛片美女图片| 国产欧美日韩综合一区在线播放| 久久久久久久久久一级| 成人高清av在线| 日韩成人中文字幕在线观看| 人妻丰满熟妇av无码区| www.这里只有精品| 欧美在线观看视频免费| 成人自拍性视频| 欧美日韩一区二区欧美激情| 视频在线观看一区| 黄色成人在线观看网站| 美女在线观看www| gogogo免费视频观看亚洲一| 日韩欧美国产高清| 亚洲国产乱码最新视频| 国产精品毛片一区二区在线看舒淇| 国产欧美日韩卡一| 99视频在线观看视频| 在线免费视频你懂得| 国产极品粉嫩福利姬萌白酱| 中文在线字幕免费观看| aa成人免费视频| 激情久久五月天| 日韩午夜激情视频| 999国产精品亚洲77777| 五月激情丁香一区二区三区| 欧美亚洲禁片免费| 日韩成人高清视频| 亚洲深夜福利| 国产一区二区四区| 天堂中文网在线| 69国产成人精品视频软件| 成人h视频在线观看播放| 日韩免费在线看| 盗摄精品av一区二区三区| 在线成人激情视频| 成人av免费| 亚洲缚视频在线观看| 51精品秘密在线观看| 日本在线播放不卡| 91麻豆精品一区二区三区| 激情五月开心婷婷| 又紧又大又爽精品一区二区| 香艳视频网站| 影音先锋男人每日资源站| 九九免费视频| 奇米777国产一区国产二区| 国产成人精品网址| 99久久亚洲| 中国女人精69xxxxxx视频| 99久re热视频精品98| 国产羞羞视频在线播放| 国产免费av电影| 肥熟一91porny丨九色丨| 国产高清在线精品| 日韩伦理一区二区三区| 九九免费精品视频在线观看| 国产91色在线播放| 亚洲人一区二区| 色噜噜噜噜噜噜| 欧美日韩国产一级片| 亚洲色图插插| 日批视频网站| 在线观看av日韩| 欧美色图一区二区三区| 麻豆av电影在线观看| 亚洲免费伊人电影在线观看av| 一级片免费观看视频| 向日葵视频成人app网址| 性欧美暴力猛交69hd| 免费人成a大片在线观看动漫| 刘亦菲久久免费一区二区| 日本亚洲自拍| 久久久久亚洲av无码专区| 成人eeuss影院在线观看| 九九精品久久| 欧美顶级毛片在线播放| 欧美成人做性视频在线播放| 免费看黄色片的网站| 自拍偷拍一区二区三区四区| 在线观看亚洲免费视频| 亚洲精华国产精华精华液网站| 五月色婷婷综合| 日韩一区国产二区欧美三区| 奇米888四色在线精品| 亚洲日本欧美日韩高观看| 日韩精品视频在线免费观看| 日韩av黄色网址| 亚洲美女av黄| 男女啪啪无遮挡| 国产精品最新| 麻豆成人精品| 黄色av免费在线播放| 偷拍精品一区二区三区| 伊人久久大香线蕉综合影院首页| 成人网在线播放| 久久久国产精华| 久久丫精品久久丫| 亚洲AV午夜精品| 1204国产成人精品视频| 美女视频黄a大片欧美| 日韩av网站大全| 色婷婷综合久久久久久| 黄色免费网址大全| 欧美xxxx综合视频| 午夜一区在线观看| 精品入口麻豆88视频| 一本色道久久综合亚洲精品酒店| 国产偷人妻精品一区| 国产精品手机在线观看| 99久久免费国产| v天堂福利视频在线观看| 国产精品久久久久久久久免费桃花| 欧洲一区在线| 欧美少妇xxxx| 伊人成人在线| 97视频热人人精品| 日韩一区二区三免费高清在线观看| 亚洲国产中文字幕在线视频综合| yw.139尤物在线精品视频| 做爰视频毛片视频| 欧美草逼视频| 欧美极品日韩| 日韩精品专区在线影院重磅| 在线a人片免费观看视频| 国产日韩一区二区在线| 91精品蜜臀一区二区三区在线| 日本不卡视频一区二区| 色呦呦久久久| 久艹在线视频| 久久激情免费视频| 日韩av在线导航| 一区二区三区四区视频| 丁香花五月婷婷| 国产一级特黄视频| 欧美三级华人主播| 成人中文字幕+乱码+中文字幕| 最新高清无码专区| 日韩免费中文专区| 欧美成人se01短视频在线看| 久久久久久免费视频| 日韩视频一二三| 日韩精品乱码免费| 成人精品电影在线观看| 亚洲综合在线视频| 欧美色图另类图片| 国产很黄免费观看久久| 久久女同精品一区二区| 经典一区二区三区| 欧美激情一区二区三级高清视频| 欧美日韩a v| 香蕉视频色在线观看| 亚洲高清视频免费观看| 又黄又爽在线免费观看| 高清一区二区视频| 久久综合偷偷噜噜噜色| 韩国三级av在线免费观看| 丝袜熟女一区二区三区| 国产成人免费看一级大黄| 四虎国产精品永远| 精品一区二区电影| 四虎影视最新网站入口在线观看| 一区二区三区**美女毛片| 亚欧成人精品| 日韩欧美激情一区二区| 五月天丁香综合久久国产| 国产精品美女www爽爽爽视频| 免费成年人高清视频| 亚洲色成人网站www永久四虎| www.超碰97.com| 99久热这里只有精品视频免费观看| 麻豆一区二区在线观看| 精品久久久久久综合日本欧美| 亚洲视频大全| 国内精品麻豆| 亚洲精品久久久久久久久久久久久久| 邻家有女韩剧在线观看国语| 国产精品毛片一区视频播| 国产又粗又长又硬| 美女性感视频久久久| 中文字幕欧美色图| 91蜜桃免费观看视频| 精品久久人人做人人爱| 热re66久久精品国产99re| 精品无码av一区二区三区不卡| 欧美色图在线视频| 在线观看的黄色| 91精品短视频| av小片在线| 亚洲va久久| 日本三级韩国三级久久| 精品一区二区在线播放| 国产精品v欧美精品v日本精品动漫| 一级二级三级在线观看| 久久午夜免费电影| 日本亚洲色大成网站www久久| 91久久亚洲| www.66久久| 国产对白在线播放| 456亚洲精品成人影院| 在线日韩日本国产亚洲| 2021天堂中文幕一二区在线观| 综合激情丁香| 国产盗摄精品一区二区三区在线| 成年网站在线观看| 精品中文字幕乱| 天海翼中文字幕| 欧美日韩理论片| av中文字幕在线观看| 国产成人综合视频| 久久精品久久久久久久| 99re国产| 色噜噜亚洲精品中文字幕| 日本美女在线中文版| 久久婷婷国产精品| 免费看黄色av| 久久久之久亚州精品露出| 96av麻豆蜜桃一区二区| 婷婷在线精品视频| 国产精品福利一区二区三区| 国产精品自拍亚洲| 黑人性受xxxx黑人xyx性爽| 亚洲av无码一区二区三区观看| 欧美老人xxxx18| 亚洲欧美日韩在线高清直播| 亚洲国产精品国自产拍av秋霞| 亚洲激情视频| 色欲狠狠躁天天躁无码中文字幕| 香蕉成人在线视频| 在线观看成人动漫| 国产一级一片免费播放| 久久精品一区二区三区不卡牛牛| 免费观看成人性生生活片| 国产不卡av在线播放| 中文在线第一页| 久久精品无码人妻| 亚洲大片在线观看| 欧美性受xxxxxx黑人xyx性爽| 欧美成人乱码一二三四区免费|