?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  1.     STRUCT shortBlock
  2. byte    BYTE    'A'
  3. block   BLOCK   5, 'B'
  4. word    WORD    'DC'
  5.     ENDS
  6.  
  7.     STRUCT onLimitBlock
  8. byte    BYTE    'A'
  9. block   BLOCK   8, 'B'      ; should be emitted without ellipsis
  10. word    WORD    'DC'
  11.     ENDS
  12.  
  13.     STRUCT longBlock
  14. byte    BYTE    'A'
  15. block   BLOCK   9, 'B'      ; listed with ellipsis, needs fix of following address
  16. word    WORD    'DC'
  17.     ENDS
  18.  
  19.     ; verify offsets
  20.     ASSERT  6 == shortBlock.word
  21.     ASSERT  9 == onLimitBlock.word
  22.     ASSERT 10 == longBlock.word
  23.  
  24.     ORG $1000
  25.     ; this should list normally
  26. sb      shortBlock          ; should produce continuous 1+5+2 = 8 bytes listing
  27.  
  28.     ORG $2000
  29. mb      onLimitBlock        ; should produce continuous 1+8+2 = 11 bytes listing
  30.  
  31.     ORG $3000
  32. lb      longBlock           ; should produce ellipsis after "block" + extra "ListFile()" call
  33.                             ; and advance address for "word"
  34.  
  35.     ; one more ellipsis not aligning to the very beginning of MC byte quartet in LST
  36.     STRUCT longBlock2
  37. byte    BYTE    'A'
  38. block1  BLOCK   9, '!'
  39. block2  BLOCK   9, 'B'
  40. word    WORD    'DC'
  41.     ENDS
  42.  
  43.     ORG $8000
  44. lb2     longBlock2          ; some eol comment
  45.  
  46.     ; verify final addresses
  47.     ASSERT $1006 == sb.word
  48.     ASSERT $2009 == mb.word
  49.     ASSERT $300A == lb.word
  50.     ASSERT $8001 == lb2.block1 && $800A == lb2.block2 && $8013 == lb2.word
  51.