X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=sect.h;h=14dc65f86b046be347c32592a408f288ef10267f;hp=84ad789c9456c931e14573cbff248b477c3ce136;hb=c38505ee4b2a0de59926107e52fb8bb84041a0e4;hpb=bdbf34766f4d074a5933eb1326fe4ce03d249e10 diff --git a/sect.h b/sect.h index 84ad789..14dc65f 100644 --- a/sect.h +++ b/sect.h @@ -1,7 +1,7 @@ // // RMAC - Reboot's Macro Assembler for all Atari computers // SECT.H - Code Generation, Fixups and Section Management -// Copyright (C) 199x Landon Dyer, 2011-2019 Reboot and Friends +// Copyright (C) 199x Landon Dyer, 2011-2020 Reboot and Friends // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986 // Source utilized with the kind permission of Landon Dyer // @@ -54,7 +54,9 @@ #define D_ZEROFILL(n) {chcheck(n); memset(chptr, 0, n); chptr+=n; sloc+=n; \ ch_size+=n; if (orgactive) orgaddr+=n;} -#define NSECTS 16 // Max. number of sections +//OK, this is bad, mmkay? The constants defined in rmac.h are used as indices into an array which means that this was never meant to be defined this way--at least if it was, it was a compromise that has come home to bite us all in the ass. !!! FIX !!! +//#define NSECTS 16 // Max. number of sections +#define NSECTS 256 // Max. number of sections // Tunable (storage) definitions #define CH_THRESHOLD 32 // Minimum amount of space in code chunk @@ -82,6 +84,7 @@ #define FU_SEXT 0x0010 // Ok to sign extend #define FU_PCREL 0x0020 // Subtract PC first +#define FU_PCRELX 0x1000000 // 030 variant #define FU_EXPR 0x0040 // Expression (not symbol) follows #define FU_GLOBAL 0x0080 // Mark global symbol