亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? io.c

?? 詳細介紹了一篇關于pci開發的接口芯片
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
	io.c

	expanded input/output functions
*/

// standard libs..
#include <stdtypes.h>
#include <string.h>
#include <ctype.h>
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>

// custom libs...
#include <clib1.h>

extern CHAR errstring[];



/*
************************************************************************
************************************************************************
**                                                                                                                                        **
** logical <--> physical address conversion routines                              **
**                                                                                                                                        **
************************************************************************
************************************************************************
*/

UINT32 physaddr( void *voidaddr )
{

        UINT32 ulong;

                ulong  = (UINT32)FP_SEG(voidaddr) << 4;
                ulong += (UINT32)FP_OFF(voidaddr);

        return ulong;

}

void *voidaddr( UINT32 physaddr )
{

        if( physaddr > 0x000FFFFFlu )
        {
			fprintf( stderr, "Function voidaddr() called with address > 1mb.\n " );
			exit(1);
        }

        return MK_FP( (UINT16)((physaddr & 0x000FFFF0lu) >> 4), (UINT16)(physaddr & 0x0000000Flu) );

}

/*
************************************************************************
************************************************************************
**                                                                                                                                        **
** endian swapping routines                                                                               **
**                                                                                                                                        **
************************************************************************
************************************************************************
*/

UINT32 swaplong ( UINT32 ulong )
/* swap byte order of 32-bit dword */
{

        UINT8 swapped[4];

        swapped[0] = (UINT8)(ulong >> 24);
        swapped[1] = (UINT8)(ulong >> 16);
        swapped[2] = (UINT8)(ulong >> 8);
        swapped[3] = (UINT8)ulong;

        return( *(UINT32 *)swapped );

}

UINT16 swapword ( UINT16 uword )
/* swap byte order of 16-bit word */
{

        UINT8 swapped[2];

        swapped[0] = (UINT8)(uword >> 8);
        swapped[1] = (UINT8)uword;

        return( *(UINT16 *)swapped );

}


/****************************************************************************/
/*                                                                          */
/*  INSB                                                                    */
/*                                                                          */
/* Purpose: Inputs a string of BYTEs from a hardware port                   */
/*                                                                          */
/* Inputs:                                                                  */
/*                                                                          */
/*    word port                                                             */
/*       hardware port to read from                                         */
/*                                                                          */
/*    void *buf                                                             */
/*       Buffer to read data into                                           */
/*                                                                          */
/*    int count                                                             */
/*       Number of BYTEs to read                                            */
/*                                                                          */
/* Outputs:                                                                 */
/*                                                                          */
/*    None                                                                  */
/*                                                                          */
/****************************************************************************/

void insb(UINT16 port, void *buf, int count)
{
   _ES = FP_SEG(buf);   /* Segment of buf */
   _DI = FP_OFF(buf);   /* Offset of buf  */
   _CX = count;         /* Number to read */
   _DX = port;          /* Port           */
   asm   REP INSB;
}

/****************************************************************************/
/*                                                                          */
/*  INSW                                                                    */
/*                                                                          */
/* Purpose: Inputs a string of WORDs from a hardware port                   */
/*                                                                          */
/* Inputs:                                                                  */
/*                                                                          */
/*    word port                                                             */
/*       hardware port to read from                                         */
/*                                                                          */
/*    void *buf                                                             */
/*       Buffer to read data into                                           */
/*                                                                          */
/*    int count                                                             */
/*       Number of WORDs to read                                            */
/*                                                                          */
/* Outputs:                                                                 */
/*                                                                          */
/*    None                                                                  */
/*                                                                          */
/****************************************************************************/

void insw(UINT16 port, void *buf, int count)
{
   _ES = FP_SEG(buf);   /* Segment of buf */
   _DI = FP_OFF(buf);   /* Offset of buf  */
   _CX = count;         /* Number to read */
   _DX = port;          /* Port           */
   asm   REP INSW;
}

/****************************************************************************/
/*                                                                          */
/*  INSL                                                                    */
/*                                                                          */
/* Purpose: Inputs a string of 32-bit words from a hardware port                  */
/*                                                                          */
/* Inputs:                                                                  */
/*                                                                          */
/*    word port                                                             */
/*       hardware port to read from                                         */
/*                                                                          */
/*    void *buf                                                             */
/*       Buffer to read data into                                           */
/*                                                                          */
/*    int count                                                             */
/*       Number of DWORDs to read                                           */
/*                                                                          */
/* Outputs:                                                                 */
/*                                                                          */
/*    None                                                                  */
/*                                                                          */
/****************************************************************************/

void insl(UINT16 port, void *buf, int count)
{
   _ES = FP_SEG(buf);   /* Segment of buf */
   _DI = FP_OFF(buf);   /* Offset of buf  */
   _CX = count;         /* Number to read */
   _DX = port;          /* Port           */
   __emit__(0xf3, 0x66, 0x6D); /* asm  REP INSD */
}

/****************************************************************************/
/*                                                                          */
/*  OUTSB                                                                   */
/*                                                                          */
/* Purpose: Outputs a string of BYTEs to a hardware port                    */
/*                                                                          */
/* Inputs:                                                                  */
/*                                                                          */
/*    word port                                                             */
/*       hardware port to write to                                          */
/*                                                                          */
/*    void *buf                                                             */
/*       Buffer to write data from                                          */
/*                                                                          */
/*    int count                                                             */
/*       Number of BYTEs to write                                           */
/*                                                                          */
/* Outputs:                                                                 */
/*                                                                          */
/*    None                                                                  */
/*                                                                          */
/****************************************************************************/

void outsb(UINT16 port, void *buf, int count)
{
   _SI = FP_SEG(buf);   /* Offset of buf  */
   _CX = count;         /* Number to read */
   _DX = port;          /* Port           */
   asm   REP OUTSB;
}

/****************************************************************************/
/*                                                                          */
/*  OUTSW                                                                   */
/*                                                                          */
/* Purpose: Outputs a string of WORDs to a hardware port                    */
/*                                                                          */
/* Inputs:                                                                  */
/*                                                                          */
/*    word port                                                             */
/*       hardware port to write to                                          */
/*                                                                          */
/*    void *buf                                                             */
/*       Buffer to write data from                                          */
/*                                                                          */
/*    int count                                                             */
/*       Number of WORDs to write                                           */
/*                                                                          */
/* Outputs:                                                                 */
/*                                                                          */
/*    None                                                                  */
/*                                                                          */
/****************************************************************************/

void outsw(UINT16 port, void *buf, int count)
{
   _SI = FP_SEG(buf);   /* Offset of buf  */
   _CX = count;         /* Number to read */
   _DX = port;          /* Port           */
   asm   REP OUTSW;
}

/****************************************************************************/
/*                                                                          */
/*  OUTSL                                                                   */
/*                                                                          */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久97三级| 国产制服丝袜一区| 免费观看在线综合| 成人av资源在线| 欧美一区二区在线免费播放| 国产欧美日本一区视频| 午夜精品爽啪视频| 99久久精品国产网站| 久久综合国产精品| 性做久久久久久| 日本高清不卡视频| 国产亚洲精品bt天堂精选| 日本午夜精品视频在线观看| 91在线无精精品入口| 久久综合九色综合欧美亚洲| 视频在线在亚洲| 日本韩国精品一区二区在线观看| 久久久亚洲欧洲日产国码αv| 午夜精品影院在线观看| 日本高清不卡视频| 亚洲美女视频在线| 99久久综合色| 国产精品污网站| 韩国成人精品a∨在线观看| 99re这里只有精品视频首页| 精品福利在线导航| 久久精品国产精品亚洲精品| 欧美日韩免费视频| 婷婷开心久久网| 欧洲视频一区二区| 一区二区三区资源| 色就色 综合激情| 综合在线观看色| av一区二区三区四区| 中文字幕第一区综合| 国产a精品视频| 久久久国产一区二区三区四区小说 | 99久久免费精品| 18欧美乱大交hd1984| 99久久国产免费看| 亚洲免费成人av| 日本精品一区二区三区四区的功能| 亚洲丝袜精品丝袜在线| 91美女片黄在线| 亚洲图片欧美综合| 91精品国产综合久久精品麻豆| 亚洲成av人片在线观看| 3atv一区二区三区| 国产一区二区在线观看免费| 亚洲国产成人午夜在线一区| 国产大陆亚洲精品国产| 中文字幕乱码一区二区免费| av高清久久久| 亚洲成人av一区| 欧美v国产在线一区二区三区| 国产一区二区三区日韩| 国产精品理论在线观看| 欧美在线视频日韩| 六月丁香婷婷久久| 国产精品情趣视频| 欧美性大战久久| 日本女优在线视频一区二区| 久久亚洲精品国产精品紫薇| 99久久亚洲一区二区三区青草| 亚洲自拍偷拍欧美| 久久久一区二区三区捆绑**| 91麻豆文化传媒在线观看| 日日夜夜免费精品视频| 久久精品人人爽人人爽| 欧美综合一区二区| 国产剧情一区二区三区| 亚洲午夜在线观看视频在线| 精品久久久久一区| 91老师国产黑色丝袜在线| 日韩电影一区二区三区四区| 久久精品在这里| 欧美三级中文字幕| 国产999精品久久久久久绿帽| 亚洲成a人v欧美综合天堂下载| 久久久久久一二三区| 欧美日韩国产一区| 粉嫩av亚洲一区二区图片| 三级亚洲高清视频| 亚洲色图欧美激情| 精品久久国产老人久久综合| 在线看国产一区| 成人黄色大片在线观看| 久草这里只有精品视频| 一区二区三区国产| 中文字幕av一区二区三区免费看| 日韩一区二区三区视频在线| 在线国产亚洲欧美| 粗大黑人巨茎大战欧美成人| 美女视频网站久久| 五月综合激情婷婷六月色窝| 亚洲欧美另类小说| 欧美国产一区二区| 亚洲精品在线观看网站| 欧美一区日韩一区| 欧美日韩一卡二卡三卡| 日本韩国一区二区三区| 91亚洲永久精品| 成人短视频下载| 国产乱对白刺激视频不卡| 久久成人久久鬼色| 日本在线观看不卡视频| 天天爽夜夜爽夜夜爽精品视频| 亚洲乱码国产乱码精品精的特点| 国产蜜臀av在线一区二区三区| 久久久久久97三级| 国产欧美一区二区精品性色超碰| 精品国产一区二区三区不卡| 欧美变态tickle挠乳网站| 欧美成人综合网站| 日韩欧美一区二区久久婷婷| 日韩你懂的电影在线观看| 欧美一区二区播放| 日韩精品一区二区三区蜜臀| 欧美成人综合网站| 久久精品视频在线免费观看| 国产日韩在线不卡| 中文一区二区在线观看| 成人欧美一区二区三区黑人麻豆 | 欧美日韩国产综合视频在线观看 | 不卡视频在线看| 成人免费观看视频| 91首页免费视频| 色一区在线观看| 欧美日韩免费电影| 欧美一卡二卡三卡| 欧美成人一级视频| 国产日韩av一区二区| 亚洲国产岛国毛片在线| 亚洲欧美乱综合| 日韩av不卡一区二区| 激情六月婷婷久久| 成人黄色综合网站| 欧美日韩在线不卡| 精品国产凹凸成av人网站| 国产女同性恋一区二区| 亚洲码国产岛国毛片在线| 香蕉久久夜色精品国产使用方法 | 婷婷丁香久久五月婷婷| 久久成人综合网| 99re这里只有精品6| 欧美日韩国产美| 久久综合精品国产一区二区三区 | 国产日韩欧美一区二区三区综合| 国产精品毛片久久久久久| 亚洲国产精品精华液网站| 久久狠狠亚洲综合| 91视频免费观看| 欧美一区午夜视频在线观看| 国产精品丝袜黑色高跟| 日本视频免费一区| 成人激情开心网| 91精品国产免费| 亚洲视频一区在线| 激情综合色播五月| 91国偷自产一区二区三区观看| 日韩欧美激情四射| 亚洲综合偷拍欧美一区色| 国产一区二区不卡| 精品视频免费看| 中文字幕一区二区三区在线不卡| 亚洲国产精品久久艾草纯爱| 成人精品一区二区三区中文字幕| 欧美精品xxxxbbbb| 亚洲欧美日韩国产成人精品影院 | 人人超碰91尤物精品国产| 99久久伊人网影院| 精品国产乱码久久久久久免费| 一区二区高清免费观看影视大全| 国产在线日韩欧美| 日韩精品中文字幕在线一区| 亚洲综合在线视频| 成人免费观看男女羞羞视频| 欧美变态口味重另类| 日本欧美久久久久免费播放网| 91福利在线观看| 亚洲天堂2014| 国产高清一区日本| 精品国产1区二区| 久久99在线观看| 欧美一级片在线| 午夜av区久久| 7777精品伊人久久久大香线蕉经典版下载 | 色偷偷一区二区三区| 欧美国产一区二区在线观看 | 亚洲成av人在线观看| 色偷偷久久人人79超碰人人澡 | 丝袜亚洲另类欧美综合| 一本一道久久a久久精品综合蜜臀| 久久九九久精品国产免费直播| 免费在线观看一区二区三区| 欧美精选在线播放| 日韩和欧美一区二区| 欧美猛男男办公室激情| 亚洲chinese男男1069| 欧美色老头old∨ideo|