# file opened: sld_disp.asm
 1    0000                  DEVICE ZXSPECTRUMNEXT
 2    0000                  ORG $E000,32
 3    E000                  DISP $8000,1        ; fake page "1" for everything here
 4    8000              DispLabel:              ; sh*t, labels emit no warning about different mapping.
 5    8000                          MMU 4, 1
 6    8000 00                       nop         ; no warning, mapping is identical
 7    8001                          MMU 4, 4    ; emit warning
 8    8001              DispLabel2:
sld_disp.asm(9): warning[dispmempage]: DISP memory page differs from current mapping
 9    8001 00                       nop         ; warning about DISP page being different from current mapping
10    8002 00                       nop         ; no warning (warning is emitted only once per whole assembling
11    8003                  ENT
12    E003                  DISP $8010
13    8010              DispLabel3:             ; should derive page number from current mapping
14    8010 00                       nop
15    8011                  ENT
16    E004              NormalLabel:
17    E004 C9                       ret
18    E005                  ASSERT 32 == $$NormalLabel
19    E005                  ASSERT 1 == $$DispLabel
20    E005                  ASSERT 1 == $$DispLabel2
21    E005                  ASSERT 4 == $$DispLabel3
22    E005
23    E005                  ; just in the valid range values
24    E005                  DISP $8000,0
24    8000                ENT
25    E005                  DISP $8000,223
25    8000                ENT
26    E005
27    E005                  ; syntax errors of DISP parser (first in DEVICE mode)
sld_disp.asm(28): error: [DISP] Syntax error in <page number>:
28    E005                  DISP $8000,         ; syntax error
sld_disp.asm(29): error: ')' expected
sld_disp.asm(29): error: [DISP] Syntax error in <page number>:
29    E005                  DISP $8000,(        ; syntax error
sld_disp.asm(30): error: [DISP] <page number> is out of range: 512
30    E005                  DISP $8000,512      ; error outside of valid pages
sld_disp.asm(31): error: [DISP] <page number> is out of range: -1
31    E005                  DISP $8000,-1       ; error outside of valid pages
32    E005
33    E005                  DEVICE NONE
34    E005                  ORG $8000
sld_disp.asm(35): error: [DISP] Syntax error in <page number>:
35    8000                  DISP $C000,         ; error, only in device mode
sld_disp.asm(36): error: [DISP] <page number> is accepted only in device mode:     DISP $C000,-1       ; error, only in device mode
36    8000                  DISP $C000,-1       ; error, only in device mode
37    8000
38    8000                  DEVICE ZXSPECTRUMNEXT
39    8000                  CSPECTMAP "sld_disp.sym"
40    8000
# file closed: sld_disp.asm

Value    Label
------ - -----------------------------------------------------------
0x8000   DispLabel
0x8001   DispLabel2
0x8010   DispLabel3
0xE004   NormalLabel
