我正在尝试弄清楚如何从 gcc 运行 irq 0x10,以便直接与显卡交互。 我相信这必须使用内联汇编器来完成。
The general question is "How do you make interupts work from gcc. 例如,要获取视频模式(在调用 irq 0x10 时在寄存器 ah 中编码为 0x0f),我尝试了如下片段
___________ int ans; __asm__ __volatile__ ( "movb $0x0F,%%ah\n\t" \ "int $0x10\n\t" \ "movl %%eax,ans\n\t" \ :"=memory" (ans) \ : :"ax" ); printf( "ans='%d'\n",(int) ans); _____________ 但它给出了段错误。 权限? ioperm?? 答案是什么? 谢谢,John
|