?login_element?

Subversion Repositories NedoOS

Rev

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

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