*** empty log message ***
[fw/sdcc] / device / examples / xa51 / hello.c
index 49fa3328405ccfcdc4192d4c6adccceb4f2d17a0..224327fccc8b6c264244ccd10cfb26a598719762 100755 (executable)
@@ -1,65 +1,29 @@
-#include <xa.h>
+#include "hw.h"
 
-bit b1, b2;
-data d1, d2;
-xdata x1, x2;
+bit b1, b2=1;
+code c1=0;
+data d1, d2=2;
+xdata x1, x2=3;
 
-#define        BAUD_RATE 9600
-#define        OSC 20000000L   /* Xtal frequency */
-
-#define        DIVIDER (OSC/(64L*BAUD_RATE))
-
-void external_startup(void) {
-  _asm
-    mov.b      _WDCON,#0       ;shut down the watchdog
-    mov.b      _WFEED1,#0a5h
-    mov.b      _WFEED2,#05ah
-;   mov.b      _BCR,#1 ;BCR: 8 data, 16 address
-;   mov.b      _SCR,#1 ;SCR: page zero mode
-  _endasm;
-
-  // init serial io
-  TL1 = RTL1 = -DIVIDER;
-  TH1 = RTH1 = -DIVIDER >> 8;
-  TR1 = 1;             /* enable timer 1 */
-  
-  S0CON = 0x52;                /* mode 1, receiver enable */
-  IPA4 |= 0x6;         /* maximum priority */
-  ERI0=1;              /* enable receiver interupts */
-  TI0==1;               /* transmitter empty */
-  RI0=0;                /* receiver empty */
-  
-  //PSWH &= 0xf0;      /* start interupt system */
-}
-
-void putchar(char c) {
-  while(!TI0) 
-    ;
-  S0BUF = c;
-  TI0 = 0;
-}
-
-
-char getchar(void) {
-  char c;
-  
-  while (!RI0) 
-    ;
-  c=S0BUF;
-  RI0=0;
-  return c;
-}
-
-void puts(char *s) {
-  while (*s) {
-    putchar (*s++);
-  }
-}
-
-int kbhit(void) {
-  return RI0;
-}
+extern bit be;
+extern code ce;
+extern data de;
+extern xdata xe;
+xdata at 0x1234 abs;
+extern xdata xee;
 
 void main(void) {
   puts ("Hello world.\n\r");
+  _asm ;johan _endasm;
+  if (d2==2) {
+    puts ("d2=2");
+  } else {
+    puts ("d2!=2");
+  }
+  if (d1!=3) {
+    puts ("d1!=3");
+  } else {
+    puts ("d1==3");
+  }
+  exit_simulator();
 }