Applied patch #2762516
[fw/sdcc] / src / regression / rotate5.c
index c7446b21c7bcbb87ce986fe1c71c0b57ec505e05..dc5d0b2c401e1118fc9cfd57b35b5d1d9cfb76d0 100644 (file)
@@ -1,21 +1,19 @@
+#include "gpsim_assert.h"
 // Shift bytes left and right by a constant.
 
-unsigned char success=0;
 unsigned char failures=0;
-unsigned char dummy=0;
 
-bit bit0 = 0;
 signed int aint0 = 0;
 signed int aint1 = 0;
 signed char achar0 = 0;
 signed char achar1 = 0;
 signed char achar2 = 0;
 
-void done()
+void
+done()
 {
-
-  dummy++;
-
+  ASSERT(MANGLE(failures) == 0);
+  PASSED();
 }
 
 void check(void)
@@ -203,10 +201,34 @@ void main(void)
   achar0 = 0x40;
   shift_right_6();
 
+
+  achar0 = 0xff;
+  achar1 = 0xff;
+  shift_right_1();
+
+  achar0 = 0xfe;
+  achar1 = 0xff;
+  shift_right_1();
+
+  achar0 = 0xfc;
+  shift_right_2();
+
+  achar0 = 0xf8;
+  shift_right_3();
+
+  achar0 = 0xf0;
+  shift_right_4();
+
+  achar0 = 0xe0;
+  shift_right_5();
+
+  achar0 = 0xc0;
+  shift_right_6();
+
   achar0 = 0x80;
   achar1 = 0xff;
   shift_right_7();
 
-  success=failures;
+
   done();
 }