More correct calculation of ^^ABSCOUNT. Also updated VS project. Now at version 2...
authorggn <ggn.dbug@gmail.com>
Wed, 27 Jun 2018 10:15:36 +0000 (13:15 +0300)
committerShamus Hammons <jlhamm@acm.org>
Wed, 1 Jan 2020 19:46:40 +0000 (13:46 -0600)
Vs2015/rmac/rmac.vcxproj
expr.c
version.h

index 9e481bf08b7d529af5831b1c61721582a257c9b1..f2212a7fd0a172fe4850e0890b5270f2978805ef 100644 (file)
     <ClCompile Include="..\..\eagen.c" />
     <ClCompile Include="..\..\error.c" />
     <ClCompile Include="..\..\expr.c" />
+    <ClCompile Include="..\..\fltpoint.c" />
     <ClCompile Include="..\..\listing.c" />
     <ClCompile Include="..\..\mach.c" />
     <ClCompile Include="..\..\macro.c" />
     <ClCompile Include="..\..\mark.c" />
     <ClCompile Include="..\..\object.c" />
+    <ClCompile Include="..\..\op.c" />
     <ClCompile Include="..\..\procln.c" />
     <ClCompile Include="..\..\riscasm.c" />
     <ClCompile Include="..\..\rmac.c" />
     <ClInclude Include="..\..\direct.h" />
     <ClInclude Include="..\..\error.h" />
     <ClInclude Include="..\..\expr.h" />
+    <ClInclude Include="..\..\fltpoint.h" />
     <ClInclude Include="..\..\listing.h" />
     <ClInclude Include="..\..\mach.h" />
     <ClInclude Include="..\..\macro.h" />
     <ClInclude Include="..\..\mark.h" />
     <ClInclude Include="..\..\object.h" />
+    <ClInclude Include="..\..\op.h" />
     <ClInclude Include="..\..\parmode.h" />
     <ClInclude Include="..\..\procln.h" />
     <ClInclude Include="..\..\riscasm.h" />
diff --git a/expr.c b/expr.c
index d1ee1f55a1ffc824ecfaa540a91aa8b422baa17d..ebb17b86d5b7033d04b98b7b5568adfd9379f5c5 100644 (file)
--- a/expr.c
+++ b/expr.c
@@ -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;
index a6184b5af37a7a8470715513d1e0b82f85902257..8c1e411900957a2ea35450692e268635d3c31dce 100644 (file)
--- a/version.h
+++ b/version.h
@@ -15,7 +15,7 @@
 
 #define MAJOR   2              // Major version number
 #define MINOR   0              // Minor version number
-#define PATCH   0              // Patch release number
+#define PATCH   1              // Patch release number
 
 #endif // __VERSION_H__