-     DEVICE AMSTRADCPC464 
-   
-     ORG $7FFF 
-     DB '1'              ; mark page 1 at end 
-     DB '2'              ; mark page 2 at beginning 
-     DB "[5ki:" 
-     OPT push listoff 
-     DUP 5*1024-7 
-       DB low(__COUNTER__) 
-     EDUP 
-     OPT pop 
-     DB "]" 
-   
-     ORG 0x10000-4 
- endStart: 
-     DB '!end'           ; mark end of RAM at $FFFF (to check saving of last byte) 
- .sz EQU $-endStart 
-     ASSERT $10000 == endStart + endStart.sz 
-   
-     MMU $4000, 0        ; map page 0 to slot 1 
-     MMU $8000, 3, $7FFF ; map page 3 to slot 2 
- dataStart: 
-     DB '0'              ; mark page 0 at end 
-     DB '3'              ; mark page 3 at beginning 
- .sz EQU $-dataStart 
-   
-     ; create empty CDT file 
-     SAVECDT EMPTY "savecdt_code.cdt" 
-   
-     ; first block: default start address == dataStart, pages 0+3 
-     SAVECDT CODE "savecdt_code.cdt","code1",dataStart,dataStart.sz 
-   
-     ; second block: start address + 1, pages 1+2 
-     MMU $4000 $8000, 1  ; map pages 1,2 to slots 1,2 
-     SAVECDT CODE "savecdt_code.cdt","code2",dataStart,dataStart.sz,dataStart+1 
-   
-     ; third block, saving last byte of address space 
-     SAVECDT CODE "savecdt_code.cdt","code3",endStart,endStart.sz 
-   
-     ; fourth block, checking truncation of long name 
-     SAVECDT CODE "savecdt_code.cdt","long name 123456ccccccccccccccccccccc",dataStart,dataStart.sz 
-   
-     ; fifth block, checking the internal implementation of splitting long chunks into 2048 byte blocks 
-     SAVECDT CODE "savecdt_code.cdt","code5",$8000,5*1024,$8001 
-