C语言的常用库函数使用方法分析及用途(11)

返回值:文件句柄(成功时);-1(失败时)。

  成功时,文件指针指向文件头。

  头文件:fcntl.h、io.h

  outport()输出一个字到端口中的函数

  原形:void outport(int portid,int value)

  调用方式:outport(0x端口号,要输出的字);

  功能:往指定端口地址输出一个字。

  头文件:dos.h

  outportb()输出一个字节到端口中的函数

  原形:void outportb(int portid,unsigned char value)

  调用方式:outportb(0x端口号,要输出的字节);

  功能:往指定端口地址输出一个字节。

  附:PC I/O地址分配

  PC只用了10位地址线(A0-A9)进行译码,其寻址的范围为0H-3FFH,共有1024个I/O地址。这1024个地址中前半段(A9=0,范围为0H-1FFH)是属于主机板I/O译码,后半段(A9=1,范围为200H-3FFH)则是用来扩展插槽上的I/O译码用。

  I/O端口功能表

  ———————————————————————————

  I/O地址 功能、用途

  ———————————————————————————

  0    DMA通道0,内存地址寄存器(DMA控制器1(8237))

  1    DMA通道0, 传输计数寄存器

  2    DMA通道1,内存地址寄存器

  3    DMA通道1, 传输计数寄存器

  4    DMA通道2,内存地址寄存器

  5    DMA通道2, 传输计数寄存器

  6    DMA通道3,内存地址寄存器

  7    DMA通道3, 传输计数寄存器

  8    DMA通道0-3的状态寄存器

  AH    DMA通道0-3的屏蔽寄存器

  BH    DMA通道0-3的方式寄存器

  CH    DMA清除字节指针

  DH    DMA主清除字节

  EH    DMA通道0-3的清屏蔽寄存器

  FH    DMA通道0-3的写屏蔽寄存器

  19H   DMA起始寄存器

  20H-3FH 可编程中断控制器1(8259)使用

  40H   可编程中断计时器(8253)使用,读/写计数器0

  41H   可编程中断计时器寄存器

  42H   可编程中断计时器杂项寄存器

  43H   可编程中断计时器,控制字寄存器

  44H   可编程中断计时器,杂项寄存器(AT)

  47H   可编程中断计时器,计数器0的控制字寄存器

  48H-5FH 可编程中断计时器使用

  60H-61H 键盘输入数据缓冲区

  61H   AT:8042键盘控制寄存器/XT:8255输出寄存器

  62H   8255输入寄存器

  63H   8255命令方式寄存器

  64H   8042键盘输入缓冲区/8042状态

  65H-6FH 8255/8042专用

  70H   CMOS RAM地址寄存器

  71H   CMOS RAM数据寄存器

  80H   生产测试端口

  81H   DMA通道2,页表地址寄存器

  82H   DMA通道3,页表地址寄存器

  83H   DMA通道1,页表地址寄存器

  87H   DMA通道0,页表地址寄存器

  89H   DMA通道6,页表地址寄存器

  8AH   DMA通道7,页表地址寄存器

  8BH   DMA通道5,页表地址寄存器

  8FH   DMA通道4,页表地址寄存器

  93H-9FH DMA控制器专用

  A0H   NM1屏蔽寄存器/可编程中断控制器2

  A1H   可编程中断控制器2屏蔽

  C0H   DMA通道0,内存地址寄存器(DMA控制器2(8237))

  C2H   DMA通道0, 传输计数寄存器

  C4H   DMA通道1,内存地址寄存器

  C6H   DMA通道1, 传输计数寄存器

  C8H   DMA通道2,内存地址寄存器

  CAH   DMA通道2, 传输计数寄存器

  CCH   DMA通道3,内存地址寄存器

  CEH   DMA通道3, 传输计数寄存器

  D0H   DMA状态寄存器

  D2H   DMA写请求寄存器

  D4H   DMA屏蔽寄存器

  D6H   DMA方式寄存器

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值