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

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

?? tcint8.c

?? 詳細介紹了一篇關于pci開發的接口芯片
?? C
字號:
#include <dos.h>
#include <bios.h>
#include <conio.h>
#include "tcint8.h"

#define IRQ0 0x8
#define PIT0 0x40
#define PIT1 0x41
#define PIT2 0x42
#define PITMODE 0x43
#define PITCONST 1193180L
#define PIT0DEF 18.2067597
#define KBCTRL 0x61
#define NEW8H 1

static float    tick_per_ms = 0.0182068;
static float    ms_per_tick = 54.9246551;
static float    freq8h = 18.2067597;
static unsigned char flag8h = 0;
static void     interrupt(*old8h) (__CPPARGS);

volatile int    counter_8h;
volatile int    counter_reset;
volatile unsigned long int ticks_8h;

void            init8h(unsigned int Hz)
{
    unsigned int    pit0_set,
                    pit0_value;

    if (flag8h != NEW8H) {
        disable();
        old8h = getvect(IRQ0);
        setvect(IRQ0, new8h);
        outportb(PITMODE, 0x36);
        pit0_value = (unsigned int)(PITCONST / Hz);
        pit0_set = (pit0_value & 0x00ff);
        outportb(PIT0, pit0_set);
        pit0_set = (pit0_value >> 8);
        outportb(PIT0, pit0_set);
        enable();

        flag8h = NEW8H;
        freq8h = Hz;
        counter_8h = 0;
        counter_reset = freq8h / PIT0DEF;
        tick_per_ms = freq8h / 1000;
        ms_per_tick = 1000 / freq8h;
    }
}

void            quit8h(void)
{
    long            tick;
    char           *cmostime;

    if (flag8h == NEW8H) {
        disable();
        outportb(PITMODE, 0x36);
        outportb(PIT0, 0x00);
        outportb(PIT0, 0x00);
        setvect(IRQ0, old8h);
        enable();

        cmostime = get_cmostime();
        tick = PIT0DEF *
            (
             (((float) *cmostime) * 3600) +
             (((float) *(cmostime + 1)) * 60) +
             (((float) *(cmostime + 2)))
            );
        biostime(1, tick);

        flag8h = 0;
        freq8h = PIT0DEF;
        counter_reset = freq8h / PIT0DEF;
        tick_per_ms = freq8h / 1000;
        ms_per_tick = 1000 / freq8h;
    }
}

void            interrupt
                new8h(__CPPARGS)
{
    disable();
    ticks_8h++;
    counter_8h++;

    if (counter_8h == counter_reset) {
        counter_8h = 0;
        enable();
        old8h();
    } else {
        outportb(0x20, 0x20);
    }
}

unsigned long   time8h(unsigned long start, unsigned long stop)
// returns ms difference between start and stop
// returns 0 if stop time < start time
{
    unsigned long   duration,
                    millisec;

    if (stop < start)
        return 0;
    else {
        duration = stop - start;
        millisec = duration * ms_per_tick;
        return millisec;
    }
}

void            delay8h(unsigned int delayms)
{
    unsigned long int delaybegin = 0;
    unsigned long int delayend = 0;
    unsigned int    delaytick;

    delaytick = delayms * tick_per_ms;

    if (flag8h == NEW8H)
        delaybegin = ticks_8h;
    else
        biostime(0, (long) delaybegin);

    do {
        if (flag8h == NEW8H)
            delayend = ticks_8h;
        else
            biostime(0, (long) delayend);
    } while ((delayend - delaybegin) < delaytick);
}

void            sound8h(int freq, int duration)
{
    int             byte;
    unsigned int    freq1;

    freq1 = (unsigned int)(PITCONST / freq);
    outportb(PITMODE, 0xb6);
    byte = (freq1 & 0xff);
    outportb(PIT2, byte);
    byte = (freq1 >> 8);
    outportb(PIT2, byte);
    byte = inportb(KBCTRL);
    outportb(KBCTRL, (byte | 3));

    delay8h(duration);
    outportb(KBCTRL, (byte & 0xfc));
}

char           *get_cmostime(void)
{
    union REGS      inreg;
    union REGS      outreg;
    char           *buff;
    static char     buffer[6];
    char            ch;

    buff = buffer;
    inreg.h.ah = 0x02;
    int86(0x1a, &inreg, &outreg);

    ch = outreg.h.ch;
    buffer[0] = (char) ((int) (ch & 0x0f) + (int) ((ch >> 4) & 0x0f) * 10);
    ch = outreg.h.cl;
    buffer[1] = (char) ((int) (ch & 0x0f) + (int) ((ch >> 4) & 0x0f) * 10);
    ch = outreg.h.dh;
    buffer[2] = (char) ((int) (ch & 0x0f) + (int) ((ch >> 4) & 0x0f) * 10);
    buffer[3] = outreg.h.dl;
    buffer[4] = (char) (outreg.x.cflag & 0x0001);
    buffer[5] = 0x00;

    return (buff);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本欧美大码aⅴ在线播放| 亚洲一区免费视频| 久久久一区二区| 亚洲欧美视频在线观看| 亚洲午夜一区二区| 国产一区在线观看麻豆| 欧美色综合网站| 久久久国产精品麻豆| 国产一区二区剧情av在线| 久久久无码精品亚洲日韩按摩| 国产乱码精品一区二区三区av| 欧美亚洲国产bt| 亚欧色一区w666天堂| www.成人在线| 国产三级精品三级在线专区| 日韩av中文字幕一区二区三区| 欧美日韩精品是欧美日韩精品| 国产拍欧美日韩视频二区 | 国产xxx精品视频大全| 欧美日韩极品在线观看一区| 首页国产欧美日韩丝袜| 不卡一区二区中文字幕| 精品久久久久久久久久久久久久久| 亚洲日韩欧美一区二区在线| 国产精品99久久久久久似苏梦涵 | 国产精品久久久久久久浪潮网站 | 免费三级欧美电影| 91精彩视频在线观看| 国产精品国产三级国产| 色噜噜狠狠成人中文综合| 亚洲国产视频一区| 国产视频视频一区| 欧美a级理论片| 国产精品三级视频| 丁香六月久久综合狠狠色| 欧美国产视频在线| 国产精品久久精品日日| 欧美三级资源在线| 午夜伦理一区二区| 91精品黄色片免费大全| 国产精品私人影院| 欧美日韩一区在线| 国产91高潮流白浆在线麻豆| 亚洲国产aⅴ成人精品无吗| 久久这里只精品最新地址| 日韩精品1区2区3区| √…a在线天堂一区| 国产成人自拍网| 日韩精品一区二区三区视频在线观看| 亚洲国产精品嫩草影院| 中文字幕免费一区| 日韩欧美一区中文| 久久精品久久综合| 欧美国产1区2区| 欧美一区二区网站| 国产69精品久久久久777| 奇米亚洲午夜久久精品| 午夜av区久久| 一区二区三区日本| 日韩精品一区二区三区三区免费| 91成人免费在线视频| eeuss鲁片一区二区三区| 国产一区二区看久久| 久久精品噜噜噜成人av农村| 亚洲电影一级片| 日韩一级大片在线观看| 91麻豆精品国产综合久久久久久| eeuss鲁片一区二区三区在线观看| 九一久久久久久| 18欧美乱大交hd1984| 国产精品网站导航| 国产精品狼人久久影院观看方式| 欧美三级电影在线看| 国内一区二区在线| 亚洲手机成人高清视频| 欧美国产综合色视频| 国产精品久久久久国产精品日日| 中文字幕在线视频一区| 亚洲欧洲一区二区在线播放| 亚洲女人小视频在线观看| 国产日韩欧美精品在线| 国产精品天天看| 亚洲综合免费观看高清完整版 | 一区二区免费在线播放| 91精品国产欧美一区二区| 欧美亚洲综合另类| 欧美高清激情brazzers| 99国产精品久久| 精品无码三级在线观看视频 | 欧美国产精品劲爆| 亚洲免费毛片网站| 午夜精品123| 韩国视频一区二区| 丝袜脚交一区二区| 精品一区二区三区免费视频| 成人av电影在线| 欧美精品日韩综合在线| 久久久久久久久伊人| 亚洲乱码国产乱码精品精可以看| 久久免费电影网| 一区二区高清在线| 国产美女在线精品| 欧美亚洲日本一区| 久久亚洲精品国产精品紫薇| 国产精品久久久久久久久晋中| 亚洲高清免费视频| 国产凹凸在线观看一区二区| 欧美日韩一区二区欧美激情| 欧美国产丝袜视频| 日韩av网站免费在线| a美女胸又www黄视频久久| 日韩女优av电影在线观看| 亚洲美女视频一区| 国产精品一卡二卡在线观看| 欧美三级电影网站| 国产精品理论片| 国模套图日韩精品一区二区| 91传媒视频在线播放| 国产欧美视频在线观看| 日韩电影在线观看一区| 99视频热这里只有精品免费| 日韩一级视频免费观看在线| 樱花影视一区二区| av不卡在线观看| 久久久久久久久99精品| 日韩中文字幕1| 在线精品视频免费播放| 88在线观看91蜜桃国自产| 亚洲丝袜另类动漫二区| 成人午夜在线视频| 精品对白一区国产伦| 国产精品对白交换视频| 国内精品视频666| 日韩精品一区二区三区视频播放 | 99re亚洲国产精品| 国产欧美精品一区二区色综合 | 欧美视频在线播放| 亚洲欧美激情小说另类| 播五月开心婷婷综合| 国产偷国产偷亚洲高清人白洁 | 国产一区在线看| 欧美精品一区二区久久婷婷| 日韩精品福利网| 91麻豆精品国产自产在线观看一区 | 日本视频中文字幕一区二区三区| 色综合久久综合中文综合网| 欧美浪妇xxxx高跟鞋交| 亚洲国产人成综合网站| 欧美视频一区在线| 天天色图综合网| 欧美一区二区三区在| 爽好多水快深点欧美视频| 91麻豆精品国产| 久久国产精品色| 欧美激情一区二区三区四区| 国产69精品久久久久毛片| 国产精品久久久一区麻豆最新章节| 成人自拍视频在线| 亚洲图片另类小说| 在线视频中文字幕一区二区| 日韩精品五月天| 精品国产乱码久久久久久1区2区| 国产一区欧美日韩| 成人免费一区二区三区在线观看| av不卡在线观看| 五月天欧美精品| 久久久久97国产精华液好用吗| eeuss鲁一区二区三区| 亚洲成a人片在线不卡一二三区| 日韩一区二区电影在线| 成人国产视频在线观看| 亚洲成人精品一区二区| 精品av久久707| 色婷婷av一区二区三区软件| 日本在线不卡视频| 中文字幕av一区二区三区| 在线一区二区三区四区五区 | 日韩一区二区三区av| 国产美女一区二区| 一区二区三区四区激情| 日韩你懂的电影在线观看| 成人av网站在线观看免费| 午夜a成v人精品| 国产精品美日韩| 欧美一卡二卡在线| av电影在线观看一区| 久久99久久99精品免视看婷婷 | 欧美一区二区视频免费观看| 国产suv精品一区二区6| 亚洲成人动漫一区| 欧美极品少妇xxxxⅹ高跟鞋| 777奇米成人网| 一本久道久久综合中文字幕| 国产呦萝稀缺另类资源| 午夜视频在线观看一区二区三区 | 国产精品短视频| 国产亚洲精久久久久久| 日韩女优电影在线观看| 欧美日韩精品三区| 色8久久精品久久久久久蜜|