summaryrefslogtreecommitdiff
path: root/sim/ucsim/s51.src/test/stt.c
diff options
context:
space:
mode:
authorXavier ASUS <xavi92psx@gmail.com>2019-10-18 00:31:54 +0200
committerXavier ASUS <xavi92psx@gmail.com>2019-10-18 00:31:54 +0200
commit268a53de823a6750d6256ee1fb1e7707b4b45740 (patch)
tree42c1799a9a82b2f7d9790ee9fe181d72a7274751 /sim/ucsim/s51.src/test/stt.c
downloadsdcc-gas-268a53de823a6750d6256ee1fb1e7707b4b45740.tar.gz
sdcc-3.9.0 fork implementing GNU assembler syntax
This fork aims to provide better support for stm8-binutils
Diffstat (limited to 'sim/ucsim/s51.src/test/stt.c')
-rw-r--r--sim/ucsim/s51.src/test/stt.c68
1 files changed, 68 insertions, 0 deletions
diff --git a/sim/ucsim/s51.src/test/stt.c b/sim/ucsim/s51.src/test/stt.c
new file mode 100644
index 0000000..a9905e1
--- /dev/null
+++ b/sim/ucsim/s51.src/test/stt.c
@@ -0,0 +1,68 @@
+#include "hw.h"
+#include "timer.h"
+#include "t0.h"
+
+unsigned char __xdata * volatile sif;
+
+volatile unsigned int tr;
+
+void t0_isr(void) __interrupt (1)
+{
+ T0set(tr);
+}
+
+int var;
+__data int dvar;
+__idata int ivar;
+__xdata int xvar;
+__pdata int pvar;
+__code int cvar;
+__sfr __at(0x81) svar;
+__bit bvar;
+
+void
+fn(void)
+{
+ volatile int fn_local;
+ volatile int fn_hide;
+ fn_local= fn_hide= 1;
+ {
+ volatile int fn_blocked, fn_hide;
+ fn_blocked= fn_hide= 2;
+ }
+}
+
+void
+sfun(void)
+{
+ return ;
+}
+
+void
+main(void)
+{
+ volatile unsigned int i, x= 0, j;
+ __xdata char *p= (__xdata char *)0;
+
+ bvar= 1;
+ sif= (unsigned char __xdata *)0xffff;
+ tr= T_kezdoertek(10);
+ T0idozito1(0);
+ T0beallit(tr);
+ T0start();
+ ET0= 1;
+ EA= 1;
+
+ for (j=0; j<10; j++)
+ for (i= 0; i<0xfff0; i++)
+ {
+ char c= p[i];
+ unsigned int t= TL0 + (TH0*256);
+ p[i]= t&0xff;
+ if (p[i] != t&0xff)
+ x++;
+ p[i]= c;
+ }
+ * (char __idata *) 0 = * (char __xdata *) 0xfffe;
+ *sif= 's';
+}