home *** CD-ROM | disk | FTP | other *** search
- /*********************** CMIN.H ***********************/
-
- #define byte unsigned char
- #define word unsigned int
- #define dword unsigned long
-
- #define NULL 0
- #define YES 1
- #define NO 0
-
- #define FP_OFS(fp) ((unsigned)(fp))
- #define FP_SEG(fp) ((unsigned)((unsigned long)(fp) >> 16))
- #define MK_FP(type,seg,ofs) ((type far *) \
- (((unsigned long)(seg) << 16) | (unsigned)(ofs)))
- #define MK_FAR(seg,ofs) (((unsigned long)(seg) << 16) | (unsigned)(ofs))
-
- #define FP_(seg,ofs,p) {*(int *)((int)(&p))=ofs;*(int *)((int)(&p)+2)=seg;}
- #define FP_O(p) (*(int *)((int)(&p)))
- #define FP_S(p) (*(int *)((int)(&p)+2))
-
- void __emit__();
- void __int__ (int interruptnum);
-
- void cdecl __cli__ (void);
- void cdecl __sti__ (void);
- int __abs__(int);
-
- void pascal _Exit(void);
- #define exit_(n) {_AL=n;_Exit();}
- #define code_ __emit__
- #define int_ __int__
-
-
- #include <asm.h>
-
-
- #define inpb_(port) (_DX=(port),in_aldx,_AL)
- #define inpw_(port) (_DX=(port),in_axdx,_AX)
- #define outb_(port,byte) {_DX=(port);_AL=(byte);out_aldx;}
- #define outw_(port,int) {_DX=(port);_AX=(int);out_axdx;}
-
- #define pokew_(seg,ofs,int) \
- {_ES=(seg);_BX=(ofs);_AX=(int);__emit__(0x26,0x89,0x07);}
- #define pokeb_(seg,ofs,byte) \
- {_ES=(seg);_BX=(ofs);_AL=(byte);__emit__(0x26,0x88,0x07);}
- #define peekw_(seg,ofs) \
- (_ES=(seg),_BX=(ofs),__emit__(0x26,0x8b,0x07),_AX)
- #define peekb_(seg,ofs) \
- (_ES=(seg),_BX=(ofs),__emit__(0x26,0x8a,0x07),_AL)
-
- #define pokew__(ofs,int) \
- {_BX=(ofs);_AX=(int);__emit__(0x26,0x89,0x07);}
- #define pokeb__(ofs,byte) \
- {_BX=(ofs);_AL=(byte);__emit__(0x26,0x88,0x07);}
- #define peekw__(ofs) \
- (_BX=(ofs),__emit__(0x26,0x8b,0x07),_AX)
- #define peekb__(ofs) \
- (_BX=(ofs),__emit__(0x26,0x8a,0x07),_AL)
-
-
- #define getch_ (_AH=8,int_(0x21),_AL)
- #define getche_ (_AH=1,int_(0x21),_AL)
- #define putch_(c) {_DL=c;_AH=2;int_(0x21);}
-
- #define getc_ (_AH=6,_DL=255,int_(0x21),_AL)
- #define putc_(c) {_DL=c;_AH=6;int_(0x21);}
-
- #define gets_(s) {_DX=s;_AH=10;__int__(0x21);}
- #define puts_(s) {_DX=s;_AH=9;__int__(0x21);}