- an asmconv based tool for conversion from GNU ia32 assembly to ACK assembly - in contrast to asmconv it is a one way tool only - as the GNU assembly in Minix does not prefix global C symbols with _ gas2ack detects such symbols and prefixes them to be compliant with the ACK convention - gas2ack preserves comments and unexpanded macros - bunch of fixes to the asmconv GNU->ACK direction - support of more instructions that ACK does not know but are in use in Minix - it is meant as a temporary solution as long as ACK will be a supported compiler for the core system
24 lines
710 B
C
24 lines
710 B
C
/* asmconv.h - shared functions Author: Kees J. Bot
|
|
* 19 Dec 1993
|
|
*/
|
|
|
|
#define arraysize(a) (sizeof(a)/sizeof((a)[0]))
|
|
#define arraylimit(a) ((a) + arraysize(a))
|
|
#define between(a, c, z) \
|
|
((unsigned)((c) - (a)) <= (unsigned)((z) - (a)))
|
|
|
|
void *allocate(void *mem, size_t size);
|
|
void deallocate(void *mem);
|
|
void fatal(char *label);
|
|
char *copystr(const char *s);
|
|
int isanumber(const char *s);
|
|
|
|
extern int asm_mode32; /* In 32 bit mode if true. */
|
|
|
|
#define use16() (!asm_mode32)
|
|
#define use32() ((int) asm_mode32)
|
|
#define set_use16() ((void) (asm_mode32= 0))
|
|
#define set_use32() ((void) (asm_mode32= 1))
|
|
|
|
extern int err_code; /* Exit code. */
|
|
#define set_error() ((void) (err_code= EXIT_FAILURE))
|