Blame | Last modification | View Log | Download
PR122_LABELSLIST_virtualAdr.asm(4): error: [LABELSLIST] Syntax error in <virtual labels>: LABELSLIST "PR122_LABELSLIST_virtualAdr.lbl", @
# file opened: PR122_LABELSLIST_virtualAdr.asm
1 0000 DEVICE zxspectrum128
2 0000
3 0000 ; check syntax error report for virtual labels argument
4 0000 LABELSLIST "PR122_LABELSLIST_virtualAdr.lbl", @
5 0000
6 0000 ORG 0
7 0000 ADR_0: ; at ROM addresses the "bank 7" is paged in ZX128 device, so page 7
8 0000 ADR_1 EQU $FEDC, 2 ; force page 2 to the label ADR_1
9 0000 ADR_2 EQU $1FEDC, 3 ; out of 64ki range, and page 3
10 0000 ADR_3 EQU -123 ; "out of bounds" page
11 0000
12 0000 ; verify that labels have the designed pages
13 0000 ASSERT 7 == $$ADR_0
14 0000 ASSERT 2 == $$ADR_1
15 0000 ASSERT 3 == $$ADR_2
16 0000 ASSERT 8 <= $$ADR_3 ; "out of bounds" is currently $7F80, but that may change in future, just check for >= 8
17 0000
18 0000 ; emit labelslist with "virtual labels", so:
19 0000 ; * the page info should be not listed at all
20 0000 ; * the values are truncated to full 64ki range
21 0000 LABELSLIST "PR122_LABELSLIST_virtualAdr.lbl", 1
22 0000
23 0000 ~ /*
24 0000 ~ ;;;; the expected output is (no pages, 64ki range):
25 0000 ~
26 0000 ~ :0000 ADR_0
27 0000 ~ :FEDC ADR_1
28 0000 ~ :FEDC ADR_2
29 0000 ~ :FF85 ADR_3
30 0000 ~
31 0000 ~
32 0000 ~ ;;;; without virtual labels the output would look like this (pages + truncated to 16ki range)
33 0000 ~
34 0000 ~ 07:0000 ADR_0
35 0000 ~ 02:3EDC ADR_1
36 0000 ~ 03:3EDC ADR_2
37 0000 ~ :3F85 ADR_3
38 0000 ~
39 0000 ~ */
40 0000
# file closed: PR122_LABELSLIST_virtualAdr.asm
Value Label
------ - -----------------------------------------------------------
0x0000 ADR_0
0xFEDC ADR_1
0x1FEDC ADR_2
0xFFFFFF85 ADR_3