This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/dm/include/MACROS.H

44 lines
901 B
C

/* 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