pchwio.c

来自「国外网站上的一些精典的C程序」· C语言 代码 · 共 71 行

C
71
字号
/***  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)))#endifunsigned 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 + =
减小字号Ctrl + -
显示快捷键?