精品理论电影在线_日韩视频一区二区_一本色道精品久久一区二区三区_香蕉综合视频

C基礎:C語言的常用庫函數學習(四)

發布時間:2011-08-29 共3頁

  MK_FP()設置一個遠指針的宏
  原形:void far *MK_FP(unsigned seg,unsigned ofs)
  功能:通過段值(seg)和偏移量(ofs)建立一個遠指針
  返回值:遠指針
  頭文件:dos.h
  movedata()拷貝數據函數
  原形: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,頁表地址寄存器

百分百考試網 考試寶典

立即免費試用