Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104574164
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: C/C++

2008-05-18 18:00:48

 来源:


  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方式寄存器

  D8H   DMA清除字节指针

  DAH   DMA主清

  DCH   DMA清屏蔽寄存器

  DEH   DMA写屏蔽寄存器

  DFH-EFH 保留

  F0H-FFH 协使用

  100H-16FH保留

  170H   1号硬盘数据寄存器

  171H   1号硬盘错误寄存器

  172H   1号硬盘数据扇区计数

  173H   1号硬盘扇区数

  174H   1号硬盘柱面(低字节)

  175H   1号硬盘柱面(高字节)

  176H   1号硬盘驱动器/磁头寄存器

  177H   1号硬盘状态寄存器

  1F0H   0号硬盘数据寄存器

  1F1H   0号硬盘错误寄存器

  1F2H   0号硬盘数据扇区计数

  1F3H   0号硬盘扇区数

  1F4H   0号硬盘柱面(低字节)

  1F5H   0号硬盘柱面(高字节)

  1F6H   0号硬盘驱动器/磁头寄存器

  1F7H   0号硬盘状态寄存器

  1F9H-1FFH保留

  200H-20FH游戏控制端口

  210H-21FH扩展单元

  278H   3号并行口,数据端口

  279H   3号并行口,状态端口

  27AH   3号并行口,控制端口

  2B0H-2DFH保留

  2E0H   EGA/VGA使用

  2E1H   GPIP(0号适配器)

  2E2H   数据获取(0号适配器)

  2E3H   数据获取(1号适配器)

  2E4H-2F7H保留

  2F8H   2号串行口,发送/保持寄存器(RS232接口卡2)

  2F9H   2号串行口,中断有效寄存器

  2FAH   2号串行口,中断ID寄存器

  2FBH   2号串行口,线控制寄存器

  2FCH   2号串行口,调制解调控制寄存器

  2FDH   2号串行口,线状态寄存器

  2FEH   2号串行口,调制解调状态寄存器

  2FFH   保留

  300H-31FH原形卡

  320H   硬盘适配器寄存器

  322H   硬盘适配器控制/状态寄存器

  324H   硬盘适配器提示/中断状态寄存器

  325H-347H保留

  348H-357H DCA3278

  366H-36FH PC

  372H    软盘适配器数据输出/状态寄存器

  375H-376H 软盘适配器数据寄存器

  377H    软盘适配器数据输入寄存器

  378H    2号并行口,数据端口

  379H    2号并行口,状态端口

  37AH    2号并行口,控制端口

  380H-38FH SDLC及BSC通讯

  390H-393H Cluster适配器0

  3A0H-3AFH BSC通讯

  3B0H-3B H MDA寄存器

  3BCH    1号并行口,数据端口

  3BDH    1号并行口,状态端口

  3BEH    1号并行口,控制端口

  3C0H-3CFH EGA/VGA视频寄存器

  3D0H-3D7H CGA视频寄存器

  3F0H-3F7H 软盘控制器寄存器

  3F8H    1号串行口,发送/保持寄存器(RS232接口卡1)

  3F9H    1号串行口,中断有效寄存器

  3FAH    1号串行口,中断ID寄存器

  3FBH    1号串行口,线控制寄存器

  3FCH    1号串行口,调制解调控制寄存器

  3FDH    1号串行口,线状态寄存器

  3FEH    1号串行口,调制解调状态寄存器

  3FFH    保留

  —————————————————————————-

阅读(260) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~