?login_element?

Subversion Repositories NedoOS

Rev

Rev 129 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.     ;; defines to require multi define-substitution
  2.     DEFINE _zzzzz _zzzz
  3.     DEFINE _zzzz _zzz
  4.     DEFINE _zzz _zz
  5.     DEFINE _zz _z
  6.     DEFINE _z hl
  7.  
  8.     MACRO ccc varX?, varY?, varZ?
  9.         DUP (varX?) & 0x03
  10.         ld  a,varX?
  11.         EDUP
  12.         call .varY?_varZ?
  13. .varY?_varZ?:
  14.     ENDM
  15.  
  16.     MACRO xxx
  17.         DUP 2
  18. 1:
  19.         ld _zzzzz,0x1234
  20.         jr  1B
  21.         EDUP
  22. .labTest:
  23.         ccc 2, yyy, _zzzzz
  24.     ENDM
  25.  
  26.     MACRO macDB a1?, a2?, a3?, a4?, a5?, a6?
  27.         db a1?, a2?, a3?, a4?, a5?, a6?
  28.     ENDM
  29.  
  30.     xxx
  31.  
  32.     DUP 2
  33.     ret
  34.     ld  _zzzzz,0x56AB
  35.     xxx     ; emit macro
  36.     ccc 'd''d' | 0x2, first, second
  37.     EDUP
  38.  
  39.     ; expected end result of following macDB usage
  40.     db      1 + 14, "a\A\"", 'x''y', 4, 5, ">!!x", '''\', "\\"
  41.    ; test:
  42.    macDB   1 + 14, "a\A\"", 'x''y', <4, 5, "!>!!!x">, '''\', "\\"
  43.  
  44.     // warning on empty argument
  45.     ccc  13, , second
  46.     // too few/many argument errors
  47.     ccc  5, 6
  48.     ccc  7, 8, 9, 10
  49.  
  50.     // C++ numeric literal should not throw off the apostrophe-string heuristic parsing
  51.     MACRO cpp_literals num1?, num2?
  52.         db  num1?, num2?
  53.     ENDM
  54.  
  55.     cpp_literals %0'110'1010, $F'E      // fixed in v1.14.4
  56.    cpp_literals $9'A, $F'0
  57.