-     IFDEF recursively_included 
-     ; this part is included from this same file at the end of regular part 
-         DEVICE ZXSPECTRUMNEXT 
-                     ORG $F000           ; these should be page 63 set by non-included code 
- IncludedLabel:          rst $00 
- .localLabel1:           rst $08 
- Including2ndFile:   INCLUDE "sld_basics.i.asm"      ; and try here also regular non-recursive include 
-     ; following part is the "regular" one, which will include the part above 
-     ELSE 
-   
-     DEVICE ZXSPECTRUMNEXT 
-     CSPECTMAP "sld_basics.sym" 
-         MODULE next 
-                     ORG $DFFF, 63       ; page 63 into E000..FFFF region (slot 7 active) 
- .localLabel1:           nop             ; but these are still in page 0 in C000..DFFF 
- .localLabel2:           daa             ; these should be in page 63 
- .localEqu1          EQU $CCCC 
-   
- testMacro       MACRO 
-                     ; macro definition should not affect anything here 
- .localFromMacro: 
-                 ENDM 
-   
- .localEqu2          EQU $EEEE 
- .localVar           = $1111             ; DEFL/= symbol-variables are excluded from SLD 
-                         testMacro       ; shouldn't emit machine code either 
- .localLabel3            ret             ; this one should 
- .someDbBytes            DZ      "Hello 1337!" 
-         ENDMODULE 
-   
-     DEVICE NONE 
-         MODULE no_device 
-                     ORG $E100 
- DeviceNoneLabel:        scf             ; both should produce page -1 
- .localEqu2          EQU $EEEF 
- .localVar           = $1112             ; DEFL/= symbol-variables are excluded from SLD 
-                         testMacro       ; shouldn't emit machine code either 
- .someDbBytes            DZ      "Hello 1337!" 
-         ENDMODULE 
-   
-     DEVICE ZXSPECTRUM48                 ; just to test device data 
-   
-     DEVICE ZXSPECTRUM128 
-         MODULE zx128 
-                     ORG $BFFF,4         ; page 4 into C000..FFFF region (slot 3 active) 
- DeviceZx128Label1:      cpl             ; for 8000..BFFF the default page is 2 
- DeviceZx128Label2:      rrca            ; for C000..FFFF the page is 4 
- Zx128Equ            EQU $CCCC 
- .localEqu2          EQU $EEF0 
- .localVar           = $1113             ; DEFL/= symbol-variables are excluded from SLD 
-                         testMacro       ; shouldn't emit machine code either 
- .someDbBytes            DZ      "Hello 1337!" 
-         ENDMODULE 
-   
-         DEFINE  recursively_included 
-         INCLUDE "sld_basics.asm" 
-     ENDIF 
-