⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pchwio.c

📁 C语言库函数的源代码,是C语言学习参考的好文档。
💻 C
字号:
/* +++Date last modified: 05-Jul-1997 */

/*
**  PCHWIO.C - SNIPPETS portable hardware I/O access under DOS
**
**  public domain by Bob Stout
*/

#include "pchwio.h"
#include "mk_fp.h"

#if defined(__ZTC__) && !defined(__SC__)

void FAR * getvect(unsigned intnum)
{
      unsigned seg, off;

      int_getvector(intnum, &off, &seg);
      return MK_FP(seg, off);
}

void setvect(unsigned intnum, void (INTERRUPT FAR *handler)())
{
      unsigned seg = FP_SEG(handler), off = FP_OFF(handler);

      int_setvector(intnum, off, seg);
}

#endif /* ZTC getvect(), setvect() */



#if defined(_MSC_VER) || defined(__WATCOMC__) || \
      defined(__ZTC__) || defined(__SC__)

#if !defined(MK_FP)
 #define MK_FP(seg,off) ((void far *)(((long)(seg) << 16)|(unsigned)(off)))
#endif

unsigned char Peekb(unsigned seg, unsigned ofs)
{
        unsigned char FAR *ptr;

        ptr = MK_FP(seg, ofs);
        return *ptr;
}

unsigned short Peekw(unsigned seg, unsigned ofs)
{
        unsigned FAR *ptr;

        ptr = MK_FP(seg, ofs);
        return *ptr;
}

void Pokeb(unsigned seg, unsigned ofs, unsigned char ch)
{
        unsigned char FAR *ptr;

        ptr = MK_FP(seg, ofs);
        *ptr = ch;
}

void Pokew(unsigned seg, unsigned ofs, unsigned short num)
{
        unsigned FAR *ptr;

        ptr = MK_FP(seg, ofs);
        *ptr = num;
}

#endif /* MSC/ZTC/WC Peek(), poke() */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -