Use 'ao-dbg' instead of 's51' to communicate with TeleMetrum
[fw/sdcc] / src / regression / call1.c
index b86285c000ba661284e98fddc954b1e510a9e0b0..f64a0260e0342fff168fcb10b167861799bdb010 100644 (file)
@@ -1,23 +1,19 @@
-//#include "p16c84.h"
+#include "gpsim_assert.h"
 
-unsigned char success = 0;
 unsigned char failures = 0;
-unsigned char dummy = 0;
 
-bit bit0 = 0;
-unsigned int aint0 = 0;
-unsigned int aint1 = 0;
-unsigned char achar0 = 0;
-unsigned char achar1 = 0;
+unsigned int uint0 = 0;
+unsigned int uint1 = 0;
+unsigned char uchar0 = 0;
+unsigned char uchar1 = 0;
 
 unsigned char call3 (void);
 
 void
-done ()
+done()
 {
-
-  dummy++;
-
+  ASSERT(MANGLE(failures) == 0);
+  PASSED();
 }
 
 void
@@ -38,7 +34,7 @@ call2 (unsigned int ui0)
 unsigned char
 call3 (void)
 {
-  if (achar0)
+  if (uchar0)
     failures++;
 
   return (failures);
@@ -50,7 +46,7 @@ call4 (void)
 {
   unsigned int i = 0;
 
-  if (aint0)
+  if (uint0)
     i++;
 
   return (i);
@@ -68,21 +64,94 @@ call5 (unsigned int k)
 
 }
 
+unsigned char 
+call6a(unsigned char uc)
+{
+
+  if(uc>uchar1)
+    return 1;
+  else
+    return 0;
+
+}
+
+unsigned char
+call6(unsigned char uc)
+{
+
+  return(call6a(uc));
+}
+
+unsigned int 
+call7a(unsigned int ui)
+{
+  if(ui)
+    return 1;
+  else
+    return 0;
+
+}
+
+unsigned int
+call7(unsigned int ui)
+{
+
+  return(call7a(ui));
+}
+
+unsigned char
+call8(unsigned char uc1,unsigned char uc2)
+{
+
+  return uc1+uc2;
+}
+
+void call9(unsigned int ui1, unsigned int ui2)
+{
+
+  if(ui1 != 0x1234)
+    failures++;
+  if(ui2 != 0x5678)
+    failures++;
+
+}
+
 void
 main (void)
 {
 
-  call1 (achar0);
-  call2 (aint0);
-  achar1 = call3 ();
-  aint1 = call4 ();
-  if (aint1)
+  call1 (uchar0);
+  call2 (uint0);
+  uchar1 = call3 ();
+  uint1 = call4 ();
+  if (uint1)
+    failures++;
+
+  uint1 = call5 (uint0);
+  if (uint1)
     failures++;
 
-  aint1 = call5 (aint0);
-  if (aint1)
+  if(call6(uchar0))
     failures++;
 
-  success = failures;
+
+  if(call7(0))
+    failures++;
+
+  if(!call7(1))
+    failures++;
+
+  if(!call7(0xff00))
+    failures++;
+
+  uchar0=4;
+  uchar1=3;
+  uchar0 = call8(uchar0,uchar1);
+
+  if(uchar0 != 7)
+    failures++;
+
+  call9(0x1234,0x5678);
+
   done ();
 }