Login

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download | RSS feed

    DEVICE  zxspectrum128

    ; check syntax error report for virtual labels argument
    LABELSLIST "PR122_LABELSLIST_virtualAdr.lbl", @

        ORG 0
ADR_0:      ; at ROM addresses the "bank 7" is paged in ZX128 device, so page 7
ADR_1       EQU     $FEDC, 2    ; force page 2 to the label ADR_1
ADR_2       EQU     $1FEDC, 3   ; out of 64ki range, and page 3
ADR_3       EQU     -123        ; "out of bounds" page

        ; verify that labels have the designed pages
        ASSERT 7 == $$ADR_0
        ASSERT 2 == $$ADR_1
        ASSERT 3 == $$ADR_2
        ASSERT 8 <= $$ADR_3     ; "out of bounds" is currently $7F80, but that may change in future, just check for >= 8

    ; emit labelslist with "virtual labels", so:
    ; * the page info should be not listed at all
    ; * the values are truncated to full 64ki range
    LABELSLIST "PR122_LABELSLIST_virtualAdr.lbl", 1

/*
;;;; the expected output is (no pages, 64ki range):

:0000 ADR_0
:FEDC ADR_1
:FEDC ADR_2
:FF85 ADR_3


;;;; without virtual labels the output would look like this (pages + truncated to 16ki range)

07:0000 ADR_0
02:3EDC ADR_1
03:3EDC ADR_2
:3F85 ADR_3

*/