home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / CPM / UTILS / A / 6502DASM.LZH / 6502DASM.MAC next >
Text File  |  1991-01-16  |  3KB  |  85 lines

  1. ;
  2. ;  Program:  DASM
  3. ;  Version:  1.5
  4. ;  Author:  Richard Conn
  5. ;  Date:  16 Aug 82
  6. ;  Previous Versions:  1.3 (23 May 82), 1.4 (12 June 82)
  7. ;  Previous Versions:  1.0 (1 May 82), 1.1 (8 May 82), 1.2 (15 May 82)
  8. ;  Derivation:    ZZSOURCE and RESOURCE
  9. ;
  10. ;    DASM is a TDL/ZILOG Disassembler derived from Dave Barker's
  11. ; ZZSOURCE and Ward Christensen's RESOURCE by Richard Conn.  Refer to
  12. ; the documentation on RESOURCE and the built-in HELP data for information
  13. ; on the commands used for DASM.  A Help file is also being planned for DASM.
  14. ;
  15. ;    This version is a 6502 Disassembler by virtue of the inclusion of
  16. ; DASM6502.MAC,  created by W.F. Dudley (10 Dec 82).
  17. ;    The changes in this fragment are marked with:    ;###6dasm
  18. ;
  19. VERS    equ    15    ; Version Number
  20.     .Z80        ; USE ZILOG MNEMONICS
  21.     ASEG        ; USE ABSOLUTE SEGMENTS
  22. ;  Values for TRUE and FALSE
  23. FALSE    equ    0
  24. TRUE    equ    NOT FALSE
  25. ;  Set one and ONLY one of the following to TRUE
  26. ZILOG    equ    false 
  27. TDL    equ    FALSE
  28. c6502    equ    true        ;###6dasm
  29. ;  Initial Values for DASM
  30. RDCOMQ        EQU    FALSE        ;TRUE OF QUERY USER TO READ COM FILE
  31.                     ;  WHEN 'ALL' IS FILE TYPE
  32. CTLTBL        EQU    ENDALL        ;BEGINNING OF CONTROL TABLE
  33. SYMTAB        EQU    CTLTBL+600H    ;BEGINNING OF SYMBOL TABLE
  34. INITOFF        EQU    SYMTAB+2000H    ;INITIAL OFFSET VALUE
  35. COMTBL        EQU    INITOFF+4000H    ;BEGINNING OF COMMENTS
  36. SYMMAX        EQU    12        ;MAX NUMBER OF CHARS/SYMBOL (<= 12)
  37. INITLCNT    EQU    20        ;NUMBER OF LINES TO DISPLAY VIA L, A, B
  38. INITDLEN    EQU    80H        ;NUMBER OF BYTES TO DISPLAY VIA D
  39. INITPC        EQU    100H        ;INITIAL VALUE OF PC
  40. INITELST    EQU    0FFFFH        ;INITIAL END OF LIST VALUE
  41. IBUFLEN        EQU    80        ;LENGTH OF INPUT LINE BUFFER
  42. ;  CP/M Constants
  43. WBOOT    EQU    00H
  44. BDOS    EQU    05H
  45. FCB    EQU    5CH
  46. FCBNR    EQU    7CH
  47. FCBTYPE EQU    65H
  48. RECLEN    EQU    80H
  49. ;
  50. ;  Beginning of Program
  51. ;
  52.     ORG    0100H
  53.     JP    START
  54.     JP    GETCMD        ;This is an easy entry point for a restart.
  55. ;
  56. ;  The following INCLUDE is used to include the appropriate file defining
  57. ;  the Mnemonics for the desired language.  Choices at this time are:
  58. ;    DASMZLG.MAC -- ZILOG-Standard Mnemonics
  59. ;    DASMTDL.MAC -- TDL Mnemonics
  60. ;    DASM6502.MAC -- 6502 Mnemonics        ;###6dasm
  61. ;
  62.     IF    ZILOG
  63.     INCLUDE DASMZLG.MAC    ;Include ZILOG Mnemonic File
  64.     ENDIF
  65.     IF    TDL
  66.     INCLUDE DASMTDL.MAC    ;Include TDL Mnemonic File
  67.     ENDIF
  68.     IF    c6502        ;###6dasm
  69.     INCLUDE DASM6502.MAC    ;Include 6502 Mnemonic File    ;###6dasm
  70.     ENDIF            ;###6dasm
  71. ;
  72. ;  PRINT HEADERS
  73. ;
  74. START:
  75.     LD    SP,OLDST    ;SET STACK
  76.     CALL    PSTRNG
  77.     DEFB    0DH,0AH,'DASM, Version '
  78.     DEFB    VERS/10+'0','.',(VERS MOD 10)+'0',0DH,0AH,0
  79. ;
  80. ;  PERFORM REENTRANT INITIALIZATION
  81. ;
  82.     CALL    INIT0        ;INITIALIZE BUFFERS SO DASM IS REENTRANT
  83.     CALL    INIT        ;CLEANUP INITIALIZATION
  84. ;  etc. etc. etc...
  85.