* support/scripts/sdcc.nsi:
[fw/sdcc] / src / regression / inline.c
index d129fea9306244ad64705848c4c13c220106c907..3198d99f09293d5918f3d61d5302ec3efdf2d22a 100644 (file)
@@ -1,23 +1,17 @@
-#define __16F873
-#include "p16f873.h"
-unsigned char success=0;
-unsigned char failures=0;
-unsigned char dummy=0;
+#include "gpsim_assert.h"
+#include "picregs.h"
 
-unsigned char test_tris=0;
+#pragma preproc_asm -
 
-#define PORTA_ADR  5
-#define PORTB_ADR  6
-#define TRISA_ADR  0x85
-#define TRISB_ADR  0x86
+unsigned char failures=0;
 
-data at TRISA_ADR unsigned char  TRISA;
+unsigned char test_tris=0;
 
-void done(void)
+void
+done()
 {
-
-  dummy++;
-
+  ASSERT(MANGLE(failures) == 0);
+  PASSED();
 }
 
 void
@@ -39,20 +33,26 @@ delay_1ms(void)
 
 void main(void)
 {
-  dummy = 0;
-
   TRISA = 0x0f;
 
+#if defined(__pic14)
   _asm
     BSF   STATUS,RP0
     MOVF  TRISA,W
     BCF   STATUS,RP0
     MOVWF _test_tris
   _endasm;
+#else   // !defined(__pic14)
+  _asm
+    BANKSEL _TRISA
+    MOVF    _TRISA,W
+    BANKSEL _test_tris
+    MOVWF   _test_tris
+  _endasm;
+#endif  // !defined(__pic14)
 
   if(test_tris != 0x0f)
     failures++;
 
-  success = failures;
   done();
 }