加载中…
个人资料
flyhack500
flyhack500
  • 博客等级:
  • 博客积分:0
  • 博客访问:34
  • 关注人气:3
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
博文
标签:

it

分类: 编程
汇编语言功能强,速度快,但它与DOS无接口,对BIOS中断服务程序的调用很不方便。C
语言提供了与DOS的接口的功能,能很方便的调用BIOS中断服务程序,完成一些用汇编语
言实现起来比较复杂的问题。这里介绍怎样用C语言实现对BIOS的调用。
一、原理
C语言和系统资源的接口包括一个称作REGS的联合类型,一个称作SREGS的结构类型,以
及通用8086软件中断接口函数int86和int86x。REGS联合类型定义寄存器ZX、BX、CX、
DX等和CFLAG:结构类型SREGS指定的是段寄存器ES、CS、SS、DS,这些定义都在头文件
DOS.H中,使用时按规定书写即可。
int86和int86x的用法如下:
  #include
  int int86(int intr_ num,union REGS inregs,union REGS outregs)
  int int86x(int intr_num,union REGS inregs,union REGS 
outregs,struct SREGS segregs)
这两个函数的功能都是执行一个由参数intr_ num指定的8086软中断。在执行软中断之
前,两个函数都把inregs中的寄存器值存到各存储器中,另外,在执行软中断之前,
int86x把segregs.x.es和segregs.x.ds
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有