Re: [問題] 利用C做中斷服務
※ 引述《a0916327869 (左)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: C
: 問題(Question):
: 小弟是C語言的新手,如果問題太瞎還請鞭小力點。
: 最近發現一份Intel CPU的相關文件,裡面有些很有趣的subfunction。
: 都是利用暫存器來改變一些電腦的行為。例如 : 背光的亮暗 開關。
: 於是我在Debug的環境下,做了一些測試,都是可行的。
: 但是想用C做卻發生了瓶頸。
: 簡單CODE的範例如下
: mov ax,5F6A
: mov bx,0x14
: int 10
: 在C code中我有辦法利用一些Reg對ax bx填值。
: 但始終無法實現第10號的中斷服務。
: 組語的 int 10 在C code中該怎麼詮釋。還請高手賜教! 感激不盡
假如要用 inline asm 的方式也是可以的而且也是最快的,以 Turbo C++ 為例,下列是範例
程式 :
asm {
mov ax,0x006a; /* 設定繪圖模式為 800 x 600 */
int 0x10; /* 呼叫 BIOS INT 10h 進入繪圖模式 */
mov ax,0;
int 0x16; /* 可以隨意按一個鍵 */
mov ax,0003;
int 0x10; /* 返回文字模式 */
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.141.135.101
討論串 (同標題文章)