Subversion Repositories ngs

Rev

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

  1.  
  2.                 RELAXED ON
  3.                 CPU Z80UNDOC
  4.  
  5. DZ              MACRO DEFZ
  6.                 DB DEFZ,0
  7.                 ENDM
  8.  
  9. DC              MACRO DEFC
  10.                 IF STRLEN(DEFC)>1
  11.                 DB SUBSTR(DEFC,0,STRLEN(DEFC)-1)
  12.                 ENDIF
  13.                 IF STRLEN(DEFC)>0
  14.                 DB CHARFROMSTR(DEFC,STRLEN(DEFC)-1)|80H
  15.                 ENDIF
  16.                 ENDM
  17.  
  18. SUM_HOB         MACRO STR,AA,BB,CC
  19.                 DB STR
  20.                 DW AA
  21.                 DW BB
  22.                 DW CC
  23. $$I := 0
  24. $$S := 0
  25.                 REPT 9
  26. $$N := CHARFROMSTR (STR,STRLEN(STR)+$$S-9)
  27. $$I := ($$I+$$S+$$N+($$N*256))&0XFFFF
  28. $$S := $$S+1
  29.                 ENDM
  30. $$I := ($$I+$$S+LOW (AA)+(LOW (AA)*0X100))&0XFFFF
  31. $$S := $$S+1
  32. $$I := ($$I+$$S+HIGH (AA)+(HIGH (AA)*0X100))&0XFFFF
  33. $$S := $$S+1
  34. $$I := ($$I+$$S+LOW (BB)+(LOW (BB)*0X100))&0XFFFF
  35. $$S := $$S+1
  36. $$I := ($$I+$$S+HIGH (BB)+(HIGH (BB)*0X100))&0XFFFF
  37. $$S := $$S+1
  38. $$I := ($$I+$$S+LOW (CC)+(LOW (CC)*0X100))&0XFFFF
  39. $$S := $$S+1
  40. $$I := ($$I+$$S+HIGH (CC)+(HIGH (CC)*0X100))&0XFFFF
  41. $$S := $$S+1
  42.                 DW $$I
  43.                 ENDM
  44.  
  45. DUPL            MACRO LEN,FILL
  46. DUPL:
  47. $$N             EQU (LEN) / 1024
  48. $$M             EQU (LEN) # 1024
  49.                 REPT $$N
  50.                 DB 1024 DUP(FILL)
  51.                 ENDM
  52.                 IF $$M <> 0
  53.                 DB $$M DUP(FILL)
  54.                 ENDIF
  55.                 ENDM
  56.  
  57. HIGH            FUNCTION X,((X >> 8) & 0XFF)
  58. LOW             FUNCTION X,(X & 0XFF)
  59.