home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / hackers / tools / dr_crack.arj / CMIN.H < prev    next >
Encoding:
C/C++ Source or Header  |  1993-03-25  |  2.1 KB  |  70 lines

  1. /*********************** CMIN.H ***********************/
  2.  
  3. #define byte unsigned char
  4. #define word unsigned int
  5. #define dword unsigned long
  6.  
  7. #define NULL 0
  8. #define YES 1
  9. #define NO 0
  10.  
  11. #define FP_OFS(fp)    ((unsigned)(fp))
  12. #define FP_SEG(fp)    ((unsigned)((unsigned long)(fp) >> 16))
  13. #define MK_FP(type,seg,ofs)    ((type far *) \
  14.                (((unsigned long)(seg) << 16) | (unsigned)(ofs)))
  15. #define MK_FAR(seg,ofs)     (((unsigned long)(seg) << 16) | (unsigned)(ofs))
  16.  
  17. #define FP_(seg,ofs,p) {*(int *)((int)(&p))=ofs;*(int *)((int)(&p)+2)=seg;}
  18. #define FP_O(p)        (*(int *)((int)(&p)))
  19. #define FP_S(p)        (*(int *)((int)(&p)+2))
  20.  
  21. void    __emit__();
  22. void    __int__        (int interruptnum);
  23.  
  24. void    cdecl    __cli__        (void);
  25. void    cdecl    __sti__        (void);
  26. int    __abs__(int);
  27.  
  28. void pascal _Exit(void);
  29. #define exit_(n)    {_AL=n;_Exit();}
  30. #define code_  __emit__
  31. #define int_   __int__
  32.  
  33.  
  34. #include <asm.h>
  35.  
  36.  
  37. #define inpb_(port)         (_DX=(port),in_aldx,_AL)
  38. #define inpw_(port)         (_DX=(port),in_axdx,_AX)
  39. #define outb_(port,byte)    {_DX=(port);_AL=(byte);out_aldx;}
  40. #define outw_(port,int)         {_DX=(port);_AX=(int);out_axdx;}
  41.  
  42. #define pokew_(seg,ofs,int) \
  43.         {_ES=(seg);_BX=(ofs);_AX=(int);__emit__(0x26,0x89,0x07);}
  44. #define pokeb_(seg,ofs,byte) \
  45.         {_ES=(seg);_BX=(ofs);_AL=(byte);__emit__(0x26,0x88,0x07);}
  46. #define peekw_(seg,ofs) \
  47.         (_ES=(seg),_BX=(ofs),__emit__(0x26,0x8b,0x07),_AX)
  48. #define peekb_(seg,ofs) \
  49.         (_ES=(seg),_BX=(ofs),__emit__(0x26,0x8a,0x07),_AL)
  50.  
  51. #define pokew__(ofs,int) \
  52.         {_BX=(ofs);_AX=(int);__emit__(0x26,0x89,0x07);}
  53. #define pokeb__(ofs,byte) \
  54.         {_BX=(ofs);_AL=(byte);__emit__(0x26,0x88,0x07);}
  55. #define peekw__(ofs) \
  56.         (_BX=(ofs),__emit__(0x26,0x8b,0x07),_AX)
  57. #define peekb__(ofs) \
  58.         (_BX=(ofs),__emit__(0x26,0x8a,0x07),_AL)
  59.  
  60.  
  61. #define getch_        (_AH=8,int_(0x21),_AL)
  62. #define getche_         (_AH=1,int_(0x21),_AL)
  63. #define putch_(c)    {_DL=c;_AH=2;int_(0x21);}
  64.  
  65. #define getc_        (_AH=6,_DL=255,int_(0x21),_AL)
  66. #define putc_(c)    {_DL=c;_AH=6;int_(0x21);}
  67.  
  68. #define gets_(s)    {_DX=s;_AH=10;__int__(0x21);}
  69. #define puts_(s)    {_DX=s;_AH=9;__int__(0x21);}
  70.