Rev 539 | Blame | Compare with Previous | Last modification | View Log | Download
# file opened: cspectmap.asm
1 0000 DEVICE NONE ; set "none" explicitly, to avoid "global device" feature
cspectmap.asm(2): error: CSPECTMAP only allowed in real device emulation mode (See DEVICE)
2 0000 CSPECTMAP ; error about non-device mode
3 0000 DEVICE ZXSPECTRUMNEXT
3 0000 SLOT 6
4 0000 CSPECTMAP "cspectmap.sym" ; default-name variant is tested only manually
5 0000 ; CSPECTMAP ; default-name is source name with ".map" appended (tested manually)
6 0000 LABELSLIST "cspectmap.lbl"
7 0000
8 0000 ; create test labels in various areas of memory (and by various means)
9 0000
10 0000 EquLabel EQU $1234
11 0000
12 0000 DeflLabel DEFL $12+1
13 0000
14 0000 STRUCT Struct
15 0000 ~ Field1 BLOCK 5
16 0000 ~ Field2 DW $5678
17 0000 ENDS
18 0000
19 0000 ORG $C000, $00
20 C000 27 Page00: daa
21 C001 .local:
22 C001 ORG $C001, $01
23 C001 37 Page01: scf
24 C002 .local:
25 C002 ORG $C00A, $0A
26 C00A 3F Page0A: ccf
27 C00B 07 .local: rlca
28 C00C .codeEqu EQU $+1 ; is like simple EQU => "wrong" physical address
29 C00C
30 C00C .local.local: ; TODO this will be incorrectly marked as local at second dot
31 C00C ; but it will stay so, because A) not simple to fix B) works often better for UX
32 C00C
33 C00C ORG $DFFE, $0B ; also raise difficulty by adding extra dots in labels
34 DFFE 2F Page0B.A: cpl
35 DFFF .local.b:
36 DFFF ORG $C0DF, $DF
37 C0DF 1F PageDF.A.B: rra
38 C0E0 .local.c..d:
39 C0E0
40 C0E0 ORG $C030, $30
41 C030 MODULE Module
42 C030 17 Page30: rla
43 C031 .local:
44 C031 ENDMODULE
45 C031
46 C031 ORG $C031, $31
47 C031 MODULE Module_two_
48 C031 0F Page31..A.: rrca
49 C032 .local..c.:
50 C032 ENDMODULE
51 C032
52 C032 ; exporting of struct-emit labels should contain the correct physical address too
53 C032 00 00 00 00 s1 Struct { 0x1234 }
53 C036 00 34 12
54 C039
# file closed: cspectmap.asm
Value Label
------ - -----------------------------------------------------------
0x0013 X DeflLabel
0x1234 X EquLabel
0xC030 X Module.Page30
0xC031 X Module.Page30.local
0xC031 X Module_two_.Page31..A.
0xC032 X Module_two_.Page31..A..local..c.
0xC000 X Page00
0xC001 X Page00.local
0xC001 X Page01
0xC002 X Page01.local
0xC00A X Page0A
0xC00D X Page0A.codeEqu
0xC00B X Page0A.local
0xC00C X Page0A.local.local
0xDFFE X Page0B.A
0xDFFF X Page0B.A.local.b
0xC0DF X PageDF.A.B
0xC0E0 X PageDF.A.B.local.c..d
0xC032 X s1
0xC032 X s1.Field1
0xC037 X s1.Field2
0x0007 X Struct
0x0000 X Struct.Field1
0x0005 X Struct.Field2