* as/link/mcs51/lkarea.c (lnkarea2): handle absolute areas, restructured
[fw/sdcc] / support / regression / tests / absolute.c
index 52cc86ab4f27739cb36098e2db11583e0a82b8d7..528ea543a519b5e0a05d8493f3b1e5fb345b35a2 100644 (file)
@@ -4,6 +4,7 @@
 */\r
 #include <testfwk.h>\r
 \r
+{mem} at(0xCAB7) char u;\r
 {mem} at(0xCAB7) char x = 'x';\r
 {mem} at(0xCAB9) char y = 'y';\r
 {mem} at(0xCAB0) int  k = 0x1234;\r
@@ -17,8 +18,27 @@ testAbsolute(void)
   char {mem} *pC = (char {mem} *)(0xCAB0);\r
   int  {mem} *pI = (char {mem} *)(0xCAB0);\r
 \r
+  ASSERT(u == 'x');\r
   ASSERT(pC[7] == 'x');\r
   ASSERT(pC[9] == 'y');\r
   ASSERT(pI[0] == 0x1234);\r
 #endif\r
 }\r
+\r
+#if defined(SDCC_mcs51) || defined(SDCC_ds390)\r
+volatile data at(0x20) unsigned char Byte0 = 0x00;\r
+volatile data at(0x22) unsigned char Byte1 = 0x00;\r
+volatile bit Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6, Bit7, Bit8;\r
+#endif\r
+\r
+void\r
+testAbsBdata(void)\r
+{\r
+#if defined(SDCC_mcs51) || defined(SDCC_ds390)\r
+  Bit0 = 1;\r
+  ASSERT(Byte0 == 0x00);\r
+  Byte0 = 0xFF;\r
+  Bit0 = 0;\r
+  ASSERT(Byte0 == 0xFF);\r
+#endif\r
+}\r