C基础:C语言的常用库函数学习(四)
原形:void far *MK_FP(unsigned seg,unsigned ofs)
功能:通过段值(seg)和偏移量(ofs)建立一个远指针
返回值:远指针
头文件:dos.h
movedata()拷贝数据函数
c++trunc函数
原形:void movedata(unsigned srcseg,unsigned srcoff,unsigned dstseg,unsigned dstoff,size_t n)
功能:从原地址(srcseg:srcoff)拷贝n个字节的数据到目标地址(dstseg:dstoff)。
头文件:mem.h、string.h
_open()翻开一个文件进展读写的函数
原形:int _open(path,oflags)
char *path;//已建立文件的路径名
int oflags;//方式
功能:翻开由path指定的文件,返回文件的句柄
返回值:0(正常完毕);-1(错误)
头文件:fcntl.h、io.h
open()翻开文件进展读写的函数
原形:int open(const char *path,int access[,unsigned mode]) 使用方法:文件句柄=open(\“文件名\“,翻开模式|翻开模式);
功能:翻开path指定的文件,依据access指定的模式值读写。access模式:
O_RDONLY 以只读方式翻开
O_WRONLY 以只写方式翻开
O_RDOWR 以读写方式翻开
以上标志只能使用一个,以下可以用|组合使用
O_NDELAY
O_APPEND 若置位,每次写操作前都使文件指针指到文件末尾
O_CREAT 若文件不存在则创立
O_TRUNC 若文件已存在,则将文件长度截为0
O_EXCL 只和O_CREAT一起使用,若文件已经存在,返回错误代码O_BINARY 以二进制方式翻开
O_TEXT 以文本方式翻开
假如使用了O_CREAT方式,则需要供应参数mode
(S_IWRITE可写;S_IREAD可读;S_IREAD|S_IWRITE可读写)
返回值:文件句柄(胜利时);-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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。