X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=mark.h;h=e185c2489297fffdb91520d9431fbef1372f9e77;hp=2a6dbe90bf01bb049452dd183873738b2a92916e;hb=HEAD;hpb=60f204cb9e3905100da0d89f14bb40db764acd9e diff --git a/mark.h b/mark.h index 2a6dbe9..f10fbec 100644 --- a/mark.h +++ b/mark.h @@ -1,7 +1,7 @@ // -// RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System +// RMAC - Renamed Macro Assembler for all Atari computers // MARK.H - A record of things that are defined relative to any of the sections -// Copyright (C) 199x Landon Dyer, 2017 Reboot and Friends +// Copyright (C) 199x Landon Dyer, 2011-2021 Reboot and Friends // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986 // Source utilised with the kind permission of Landon Dyer // @@ -26,7 +26,15 @@ MCHUNK { #define MWORD 0x0000 // Marked word #define MLONG 0x0100 // Marked long +#define MQUAD 0x0400 // Marked quad +//This will have to be defined eventually. Might have to overhaul the mark +//system as 8-bits doesn't seem to be enough, at least for a bitfield (which it +//might not have to be, in which case it would be big enough...) +//#define MQUAD 0x // Marked quad word (TODO: merge with MDOUBLE?) #define MMOVEI 0x0200 // Mark RISC MOVEI instruction +//#define MDOUBLE 0x0400 // Marked double float +//#define MEXTEND 0x0800 // Marked extended float +//#define MSINGLE 0x0880 // Marked single float (TODO: merge with MLONG?) #define MGLOBAL 0x0800 // Mark contains global #define MPCREL 0x1000 // Mark is PC-relative #define MCHEND 0x2000 // Indicates end of mark chunk @@ -44,6 +52,7 @@ uint32_t AllocateMark(void); uint32_t MarkImage(register uint8_t * mp, uint32_t siz, uint32_t tsize, int okflag); uint32_t MarkBSDImage(uint8_t *, uint32_t, uint32_t, int); uint32_t CreateELFRelocationRecord(uint8_t *, uint8_t *, uint16_t section); +uint32_t MarkABSImage(uint8_t * mp, uint32_t siz, uint32_t tsize, int reqseg); #endif // __MARK_H__