Use 'ao-dbg' instead of 's51' to communicate with TeleMetrum
[fw/sdcc] / src / regression / call1.c
index 35878f1e776add4904420988a7a81dad4dc3b500..f64a0260e0342fff168fcb10b167861799bdb010 100644 (file)
-//#include "p16c84.h"
+#include "gpsim_assert.h"
 
-unsigned char success=0;
-unsigned char failures=0;
-unsigned char dummy=0;
+unsigned char failures = 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);
+unsigned char call3 (void);
 
-void done()
+void
+done()
 {
-
-  dummy++;
-
+  ASSERT(MANGLE(failures) == 0);
+  PASSED();
 }
 
-void call1(unsigned char uc0)
+void
+call1 (unsigned char uc0)
 {
-  if(uc0)
+  if (uc0)
     failures++;
 }
 
-void call2(unsigned int ui0)
+void
+call2 (unsigned int ui0)
 {
-  if(ui0)
+  if (ui0)
     failures++;
 
 }
 
-unsigned char call3(void)
+unsigned char
+call3 (void)
 {
-  if(achar0)
+  if (uchar0)
     failures++;
 
-  return(failures);
+  return (failures);
 
 }
 
-unsigned int call4(void)
+unsigned int
+call4 (void)
 {
-  unsigned int i=0;
+  unsigned int i = 0;
 
-  if(aint0)
+  if (uint0)
     i++;
 
-  return(i);
+  return (i);
 
 }
 
-unsigned int call5(unsigned int k)
+unsigned int
+call5 (unsigned int k)
 {
 
-  if(k)
+  if (k)
     failures++;
 
-  return(k);
+  return (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;
 
 }
 
-void main(void)
+unsigned int
+call7(unsigned int ui)
 {
 
-  call1(achar0);
-  call2(aint0);
-  achar1 = call3();
-  aint1 = call4();
-  if(aint1)
+  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++;
 
-  aint1 = call5(aint0);
-  if(aint1)
+}
+
+void
+main (void)
+{
+
+  call1 (uchar0);
+  call2 (uint0);
+  uchar1 = call3 ();
+  uint1 = call4 ();
+  if (uint1)
     failures++;
 
-  success = failures;
-  done();
+  uint1 = call5 (uint0);
+  if (uint1)
+    failures++;
+
+  if(call6(uchar0))
+    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 ();
 }