Subversion Repositories pentevo

Rev

Rev 309 | Rev 593 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  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.                 DB 0
  23.                 DB CC
  24. $$I := 0
  25. $$S := 0
  26.                 REPT 9
  27. $$N := CHARFROMSTR (STR,STRLEN(STR)+$$S-9)
  28. $$I := ($$I+$$S+$$N+($$N*256))&0XFFFF
  29. $$S := $$S+1
  30.                 ENDM
  31. $$I := ($$I+$$S+LOW (AA)+(LOW (AA)*0X100))&0XFFFF
  32. $$S := $$S+1
  33. $$I := ($$I+$$S+HIGH (AA)+(HIGH (AA)*0X100))&0XFFFF
  34. $$S := $$S+1
  35. $$I := ($$I+$$S+LOW (BB)+(LOW (BB)*0X100))&0XFFFF
  36. $$S := $$S+1
  37. $$I := ($$I+$$S+HIGH (BB)+(HIGH (BB)*0X100))&0XFFFF
  38. $$S := $$S+1
  39. $$I := ($$I+$$S+LOW (CC)+(LOW (CC)*0X100))&0XFFFF
  40. $$S := $$S+1
  41. $$I := ($$I+$$S+HIGH (CC)+(HIGH (CC)*0X100))&0XFFFF
  42. $$S := $$S+1
  43.                 DW $$I
  44.                 ENDM
  45.  
  46. DUPL            MACRO LEN,FILL
  47. DUPL:
  48. $$N             EQU (LEN) / 1024
  49. $$M             EQU (LEN) # 1024
  50.                 REPT $$N
  51.                 DB 1024 DUP(FILL)
  52.                 ENDM
  53.                 IF $$M <> 0
  54.                 DB $$M DUP(FILL)
  55.                 ENDIF
  56.                 ENDM
  57.  
  58. HIGH            FUNCTION X,((X >> 8) & 0XFF)
  59. LOW             FUNCTION X,(X & 0XFF)
  60.