home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (C) 1986-2001 by Digital Mars. $Revision: 1.1.1.1 $ */
- #if __SC__ || __RCC__
- #pragma once
- #endif
-
- #ifndef __MACROS_H
- #define __MACROS_H 1
-
- extern void _far _pascal Dos3Call(void);
-
- #define LPTR M_I86CM || M_I86LM || M_I86VM
- #define SPTR M_I86SM || M_I86MM
-
- #ifdef _WINDOWS
- #define bdos __asm call Dos3Call
- #else
- #define bdos __asm int 21h
- #endif
-
- #define bdos1(fun) __asm mov ah,fun bdos
-
- #if __INTSIZE == 4
- #define errno_set __asm mov errno, EAX
- #else
- #define errno_set __asm mov errno, AX
- #endif
-
- #define errno_set1(value) __asm mov errno, value
-
- #define clr1(reg1) __asm xor reg1, reg1
-
- #define clr2( reg1, reg2 ) __asm xor reg1,reg1 clr1(reg2)
-
- #define clr3( reg1, reg2, reg3) __asm xor reg1, reg1 clr2( reg2, reg3 )
-
- #define _ifs(arg1,cond,arg2,lbl) __asm cmp arg1,arg2 __asm j##cond short lbl
-
- #if __I386>=3 || (LPTR)
- #define SIZEPTR 4
- #else
- #define SIZEPTR 2
- #endif
- #endif
-