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 / SIMTEL / CPMUG / CPMUG016.ARK / VOLUME16.DOC < prev    next >
Text File  |  1984-04-29  |  6KB  |  170 lines

  1.     Z80DOC.DOC explains the Z80 Assembler routines which
  2. follow.  Z80MAIN.ASM   Z80OPCDS.ASM   Z80SUBS.ASM   and the
  3. assembled program Z80ASM.COM.  TEST1A.ASM and TEST2.ASM are short
  4. test programs for the assembler.  This program was written and
  5. donated to the user group by Mike Lehman for unrestricted
  6. distrubution in the hobbyist community.
  7.     COPYDSK.MAC is a disk copy routine written by Frank
  8. Maclachlan in the TDL assembler format.  It is very different
  9. from the version in Vol. 1 and performs a read and write
  10. verify.  This routine was also rewritten for the CPM assembler
  11. by Dick Mason and is included as COPYDSK.ASM.
  12.     TASMIO.DOC explains how to patch the TDL Assembler to
  13. operate with the CP/M system.  It includes TASMIO.HEX and
  14. TASMIO.MAC.  The last one would be useful for any future
  15. modifications.  This routine was written and donated by Frank
  16. Maclachlan.
  17.     SEEK.ASM is a simple utility routine which allows you
  18. to select a desired track on a drive during alignment by use
  19. of the front panel sense switches.
  20.     SPAT1.ASM is a modified version of SPAT.ASM from Vol. 1
  21. which is good for any terminal, not just the VDM.  Control
  22. characters have been removed from the ASCII print and periods
  23. inserted in their places.  This modification was made by Dick
  24. Mason.
  25.     MOVDOWN.ASM is a program used in conjunction with 
  26. those that do not start a location 100.  It loads them at
  27. location 100 and then automaticlly moves them to 0 or some
  28. other address and starts.  This was written by Dick Mason.
  29.     CPMUTIL.ASM is a different set of utilities for the
  30. various I/O routines.  This was also donated by Mike
  31. Lehman.
  32.  
  33. MACASM -- THIS IS A MACRO ASSEMBLER WITH CHARACTERISTICS SIMILAR
  34.     TO THE INTEL ASSEMBLER.  WHEN USED UNDER CP/M, IT HAS
  35.     THE FOLLOWING ADDITIONAL FEATURE:  ANOTHER OPTION FOR THE 
  36.     LIST FILE IS THE LETTER 'P' WHICH SENDS THE LISTING TO THE
  37.     LIST DEVICE DIRECTLY; E.G., ONE MIGHT TYPE
  38.   
  39.         MACASM LLLBASIC.AZP
  40.  
  41.     THIS WILL SEND THE LISTING DIRECTLY TO THE LIST DEVICE.
  42.   
  43.     THERE IS AT LEAST ONE KNOWN BUG (THE FIX IS UNKNOWN, HOWEVER)
  44.     AND THAT IS THAT SOMETIMES WITH NESTED MACROS, LOCATIONS 5,6,
  45.     AND 7 ARE CLOBBERED; THIS OF COURSE, KILLS COMMUNICATION
  46.     WITH CP/M AND ALL IS DEAD.
  47.   
  48. ASMX -- THIS IS ANOTHER ASSEMBLER, WITHOUT MACROS, BUT WITH CROSS-
  49.     REFERENCE MAP.  IT ALSO RECOGNIZES MNEMONICS FOR THE Z80.
  50.     THE MNEMONICS IT RECOGNIZES ARE SIMILAR TO THOSE PROMULGATED
  51.     BY TDL WITH THE EXCEPTION OF INDEX REGISTER OPERATIONS AND 
  52.     THE INSTRUCTION DSBB (TDL USES DSBC).  ASSEMBLE THE FILE
  53.     Z80-OPS.ASM TO SEE THE INDEX REGISTER OP CODE SYNTAX.
  54.   
  55.     ---- CHARACTERISTICS OF THIS ASSEMBLER ---
  56.   
  57.     THE ASSEMBLER DOES NOT RECOGNIZE '!'
  58.  
  59.     THE DISK BUFFERS ARE ONLY 128 BYTES, SO THERE MAY BE MORE DISK
  60.     ACTIVITY THAN WITH ASM.COM
  61.  
  62.     LABELS MUST BEGIN IN COLUMN ONE, AND SIX CHARACTERS OF THE
  63.     LABEL ARE USED.
  64.   
  65.     INSTRUCTIONS MAY NOT BEGIN IN COLUMN ONE
  66.  
  67.     THE ASSEMBLER DOES NOT MIND LABELS THAT ARE THE SAME AS OP-
  68.     CODES,E.G. JMP,ADD,SUB,END, ETC.
  69.   
  70.     LABELS NEED NOT BE FOLLOWED BY A COLON.
  71.  
  72.     CERTAIN ADDITIONAL PSEUDO-OPS ARE RECOGNIZED:
  73.   
  74.     LIST    -L    ;TURNS OFF THE LISTING
  75.  
  76.     LIST    L    ;TURNS THE LISTING BACK ON
  77.  
  78.     TP        ;TABULATE PAGE- MOVES THE PC TO THE NEXT PAGE
  79.  
  80.     TM    VAL    ;IF <VAL> BYTES REMAIN IN THE CURRENT PAGE,
  81.             ;THEN NOTHING HAPPENS; OTHERWISE MOVE THE PC
  82.             ;TO THE NEXT PAGE (IN OTHER WORDS, MAKE SURE
  83.             ;THAT AT LEAST <VAL> BYTES REMAIN IN THE CURRENT
  84.             ;PAGE)
  85.   
  86.     BASE    8    ;CAUSES LISTING IN OCTAL
  87.  
  88.     BASE    16    ;CAUSES LISTING IN HEX
  89.  
  90. EDIT -- THIS IS AN EDITOR SIMILAR TO CP/M'S ED.COM, BUT WITH COMMAND
  91.     SYNTAX LIKE INTEL'S EDITOR FOR THOSE OF YOU WHO ARE USED TO 
  92.     THAT.  THE ESCAPE CHAR IS USED AS A DELIMITER IN COMMAND LINES
  93.     (IT IS ECHOED AS A $), AND A DOUBLE ESCAPE IS USED TO TERMINATE
  94.     A COMMAND LINE. THIS EDITOR IS MUCH FASTER THAN EITHER THE INTEL
  95.     EDITOR OR ED.COM; UNLIKE THE INTEL EDITOR, THIS ONE DOES HAVE 
  96.     THE 'N' COMMAND AND THE 'Q' COMMAND; IT DOES NOT HAVE THE 'R'
  97.     COMMAND, HOWEVER.  ANOTHER DIFFERENCE WITH RESPECT TO THE 
  98.     INTEL EDITOR IS THAT THE 'A' COMMAND ONLY APPENDS ONE LINE,
  99.     BUT YOU CAN SAY 9999A TO APPEND MUCH.  THE EDITOR CREATES
  100.     A THIRD FILE WITH TYPE $$$ WHICH IS RENAMED WHEN THE EDIT JOB
  101.     IS COMPLETE.  THIS MEANS THAT IF YOU ARE EDITING A FILE WHICH
  102.     OCCUPIES OVER HALF OF THE DISK, YOU MUST ERASE ANY PRE-EXISTING
  103.     BACK-UP FILE SO THAT THERE WILL BE ROOM FOR THE TEMPORARY.  IF 
  104.     YOU DON'T, YOU WILL GET A DISK FULL ERROR.  IN FIND OR 
  105.     SUBSTITUTE COMMANDS, THE CHARACTER '|' WILL MATCH ANY CHARACTER.
  106.     IF YOU WANT TO CHANGE THIS CHARACTER, LOOK FOR THE SEQUENCE
  107.     FE, 7C  IN THE CODE AND CHANGE THE 7C TO THE CHARACTER YOU
  108.     PREFER.
  109.  
  110.     [A.R.G SUMMARY OF COMMANDS COMPARED WITH ED.COM
  111.  
  112.     NOTE () ARE TO INDICATE A CONTROL CHARACTER, <> USED LITERALLY
  113.  
  114.     ED.COM        EDITOR.COM    
  115.  
  116.     B        B
  117.     -B        Z
  118.     E        E
  119.     Q        Q
  120.     C        C
  121.     T        T
  122.     L        L
  123.     K        K
  124.     D        D
  125.     I        I
  126.     A        A
  127.     W        W
  128.     N        N
  129.     #        65536
  130.     M        <>        SEE EXTENDED COMMAND BELOW  
  131.     P        NONE
  132.     H        NONE
  133.     O        NONE
  134.     R        NONE
  135.     (SUB)        (ESC)        (AS TERMINATOR IN SEARCHES)
  136.     (CR)        (ESC) (ESC) (TO EXECUTE COMMANDS)
  137.     (CR)        NONE        (TO CAUSE LT SEQUENCE)
  138.     ANY CHARACTER    (NUL)        (TO INTERUPT PRINTING)
  139.  
  140.  
  141.     EXTENDED COMMAND:
  142.  
  143.     2MF.ASM(SUB)0LK(CR)  2<F.ASM(ESC)0LK>(ESC)(ESC)   
  144.  
  145.  
  146.     CONTROL CHARACTERS REFERENCED ABOVE:
  147.  
  148.     (CR)    :=    0DH    ^M    RETURN
  149.     (SUB)    :=    1AH    ^Z
  150.     (ESC)    :=    1BH    ^[    ESCAPE
  151.     (NUL)    :=    00H    ^@    BREAK        ]
  152.  
  153.  
  154.   
  155. FOCAL.ASM -- THIS IS THE FOCAL THAT PROCESSOR TECHNOLOGY WAS 
  156.     DISTRIBUTING IN 1976 ON BLUE XEROX-PROOF PAPER.  IT HAS SOME
  157.     KNOWN BUGS: EXPONENTIATION DOESN'T WORK AND IT HAS NO OPERATOR
  158.     PRECEDENCE.  I HAVE ADDED A FEW THINGS:  I/O FOR CP/M (JUST
  159.     CONSOLE I/O) AND A ROUTINE TO LIST THE ERROR MESSAGES.  LOAD
  160.     FOCAL WITH DDT AND JUMP TO 103H; A LIST OF THE ERROR MESSAGES
  161.     WILL BE PRINTED.  A NOTE OF INTEREST-THE FLOATING POINT PACKAGE
  162.     IN FOCAL IS FROM THE INTEL USERS LIBRARY AND WAS ORIGINALLY
  163.     WRITTEN FOR THE 8008 CPU.
  164.     [A.R.G. I understand that the exponentiation error only
  165.     occurs (symptom x^y results in y^y) with the 100H origin.
  166.     May give a clue to finding page-dependant routine]
  167.  
  168. EDUCATOR.ASM -- THIS IS FROM BYTE MAGAZINE OF JULY 1976
  169.  
  170.