X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=expr.c;h=ebb17b86d5b7033d04b98b7b5568adfd9379f5c5;hp=6db7435dd205546e0afc4d25c3e018fcb1077301;hb=c59f7a33730dacf753e066a4002e2f749051a137;hpb=30a208654896284b50e7b362e97d3e63ec717b96 diff --git a/expr.c b/expr.c index 6db7435..ebb17b8 100644 --- a/expr.c +++ b/expr.c @@ -1,7 +1,7 @@ // // RMAC - Reboot's Macro Assembler for all Atari computers // EXPR.C - Expression Analyzer -// Copyright (C) 199x Landon Dyer, 2011-2018 Reboot and Friends +// Copyright (C) 199x Landon Dyer, 2011-2019 Reboot and Friends // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986 // Source utilised with the kind permission of Landon Dyer // @@ -155,8 +155,16 @@ int expr1(void) switch (*tok++) { case CR_ABSCOUNT: - *evalTokenBuffer.u32++ = CONST; - *evalTokenBuffer.u64++ = (uint64_t)sect[ABS].sloc; + if (cursect != ABS) + { + *evalTokenBuffer.u32++ = CONST; + *evalTokenBuffer.u64++ = sect[ABS].sloc; + } + else + { + *evalTokenBuffer.u32++ = CONST; + *evalTokenBuffer.u64++ = sloc; + } break; case CR_TIME: *evalTokenBuffer.u32++ = CONST;