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 >
Wrap
Text File
|
1984-04-29
|
6KB
|
170 lines
Z80DOC.DOC explains the Z80 Assembler routines which
follow. Z80MAIN.ASM Z80OPCDS.ASM Z80SUBS.ASM and the
assembled program Z80ASM.COM. TEST1A.ASM and TEST2.ASM are short
test programs for the assembler. This program was written and
donated to the user group by Mike Lehman for unrestricted
distrubution in the hobbyist community.
COPYDSK.MAC is a disk copy routine written by Frank
Maclachlan in the TDL assembler format. It is very different
from the version in Vol. 1 and performs a read and write
verify. This routine was also rewritten for the CPM assembler
by Dick Mason and is included as COPYDSK.ASM.
TASMIO.DOC explains how to patch the TDL Assembler to
operate with the CP/M system. It includes TASMIO.HEX and
TASMIO.MAC. The last one would be useful for any future
modifications. This routine was written and donated by Frank
Maclachlan.
SEEK.ASM is a simple utility routine which allows you
to select a desired track on a drive during alignment by use
of the front panel sense switches.
SPAT1.ASM is a modified version of SPAT.ASM from Vol. 1
which is good for any terminal, not just the VDM. Control
characters have been removed from the ASCII print and periods
inserted in their places. This modification was made by Dick
Mason.
MOVDOWN.ASM is a program used in conjunction with
those that do not start a location 100. It loads them at
location 100 and then automaticlly moves them to 0 or some
other address and starts. This was written by Dick Mason.
CPMUTIL.ASM is a different set of utilities for the
various I/O routines. This was also donated by Mike
Lehman.
MACASM -- THIS IS A MACRO ASSEMBLER WITH CHARACTERISTICS SIMILAR
TO THE INTEL ASSEMBLER. WHEN USED UNDER CP/M, IT HAS
THE FOLLOWING ADDITIONAL FEATURE: ANOTHER OPTION FOR THE
LIST FILE IS THE LETTER 'P' WHICH SENDS THE LISTING TO THE
LIST DEVICE DIRECTLY; E.G., ONE MIGHT TYPE
MACASM LLLBASIC.AZP
THIS WILL SEND THE LISTING DIRECTLY TO THE LIST DEVICE.
THERE IS AT LEAST ONE KNOWN BUG (THE FIX IS UNKNOWN, HOWEVER)
AND THAT IS THAT SOMETIMES WITH NESTED MACROS, LOCATIONS 5,6,
AND 7 ARE CLOBBERED; THIS OF COURSE, KILLS COMMUNICATION
WITH CP/M AND ALL IS DEAD.
ASMX -- THIS IS ANOTHER ASSEMBLER, WITHOUT MACROS, BUT WITH CROSS-
REFERENCE MAP. IT ALSO RECOGNIZES MNEMONICS FOR THE Z80.
THE MNEMONICS IT RECOGNIZES ARE SIMILAR TO THOSE PROMULGATED
BY TDL WITH THE EXCEPTION OF INDEX REGISTER OPERATIONS AND
THE INSTRUCTION DSBB (TDL USES DSBC). ASSEMBLE THE FILE
Z80-OPS.ASM TO SEE THE INDEX REGISTER OP CODE SYNTAX.
---- CHARACTERISTICS OF THIS ASSEMBLER ---
THE ASSEMBLER DOES NOT RECOGNIZE '!'
THE DISK BUFFERS ARE ONLY 128 BYTES, SO THERE MAY BE MORE DISK
ACTIVITY THAN WITH ASM.COM
LABELS MUST BEGIN IN COLUMN ONE, AND SIX CHARACTERS OF THE
LABEL ARE USED.
INSTRUCTIONS MAY NOT BEGIN IN COLUMN ONE
THE ASSEMBLER DOES NOT MIND LABELS THAT ARE THE SAME AS OP-
CODES,E.G. JMP,ADD,SUB,END, ETC.
LABELS NEED NOT BE FOLLOWED BY A COLON.
CERTAIN ADDITIONAL PSEUDO-OPS ARE RECOGNIZED:
LIST -L ;TURNS OFF THE LISTING
LIST L ;TURNS THE LISTING BACK ON
TP ;TABULATE PAGE- MOVES THE PC TO THE NEXT PAGE
TM VAL ;IF <VAL> BYTES REMAIN IN THE CURRENT PAGE,
;THEN NOTHING HAPPENS; OTHERWISE MOVE THE PC
;TO THE NEXT PAGE (IN OTHER WORDS, MAKE SURE
;THAT AT LEAST <VAL> BYTES REMAIN IN THE CURRENT
;PAGE)
BASE 8 ;CAUSES LISTING IN OCTAL
BASE 16 ;CAUSES LISTING IN HEX
EDIT -- THIS IS AN EDITOR SIMILAR TO CP/M'S ED.COM, BUT WITH COMMAND
SYNTAX LIKE INTEL'S EDITOR FOR THOSE OF YOU WHO ARE USED TO
THAT. THE ESCAPE CHAR IS USED AS A DELIMITER IN COMMAND LINES
(IT IS ECHOED AS A $), AND A DOUBLE ESCAPE IS USED TO TERMINATE
A COMMAND LINE. THIS EDITOR IS MUCH FASTER THAN EITHER THE INTEL
EDITOR OR ED.COM; UNLIKE THE INTEL EDITOR, THIS ONE DOES HAVE
THE 'N' COMMAND AND THE 'Q' COMMAND; IT DOES NOT HAVE THE 'R'
COMMAND, HOWEVER. ANOTHER DIFFERENCE WITH RESPECT TO THE
INTEL EDITOR IS THAT THE 'A' COMMAND ONLY APPENDS ONE LINE,
BUT YOU CAN SAY 9999A TO APPEND MUCH. THE EDITOR CREATES
A THIRD FILE WITH TYPE $$$ WHICH IS RENAMED WHEN THE EDIT JOB
IS COMPLETE. THIS MEANS THAT IF YOU ARE EDITING A FILE WHICH
OCCUPIES OVER HALF OF THE DISK, YOU MUST ERASE ANY PRE-EXISTING
BACK-UP FILE SO THAT THERE WILL BE ROOM FOR THE TEMPORARY. IF
YOU DON'T, YOU WILL GET A DISK FULL ERROR. IN FIND OR
SUBSTITUTE COMMANDS, THE CHARACTER '|' WILL MATCH ANY CHARACTER.
IF YOU WANT TO CHANGE THIS CHARACTER, LOOK FOR THE SEQUENCE
FE, 7C IN THE CODE AND CHANGE THE 7C TO THE CHARACTER YOU
PREFER.
[A.R.G SUMMARY OF COMMANDS COMPARED WITH ED.COM
NOTE () ARE TO INDICATE A CONTROL CHARACTER, <> USED LITERALLY
ED.COM EDITOR.COM
B B
-B Z
E E
Q Q
C C
T T
L L
K K
D D
I I
A A
W W
N N
# 65536
M <> SEE EXTENDED COMMAND BELOW
P NONE
H NONE
O NONE
R NONE
(SUB) (ESC) (AS TERMINATOR IN SEARCHES)
(CR) (ESC) (ESC) (TO EXECUTE COMMANDS)
(CR) NONE (TO CAUSE LT SEQUENCE)
ANY CHARACTER (NUL) (TO INTERUPT PRINTING)
EXTENDED COMMAND:
2MF.ASM(SUB)0LK(CR) 2<F.ASM(ESC)0LK>(ESC)(ESC)
CONTROL CHARACTERS REFERENCED ABOVE:
(CR) := 0DH ^M RETURN
(SUB) := 1AH ^Z
(ESC) := 1BH ^[ ESCAPE
(NUL) := 00H ^@ BREAK ]
FOCAL.ASM -- THIS IS THE FOCAL THAT PROCESSOR TECHNOLOGY WAS
DISTRIBUTING IN 1976 ON BLUE XEROX-PROOF PAPER. IT HAS SOME
KNOWN BUGS: EXPONENTIATION DOESN'T WORK AND IT HAS NO OPERATOR
PRECEDENCE. I HAVE ADDED A FEW THINGS: I/O FOR CP/M (JUST
CONSOLE I/O) AND A ROUTINE TO LIST THE ERROR MESSAGES. LOAD
FOCAL WITH DDT AND JUMP TO 103H; A LIST OF THE ERROR MESSAGES
WILL BE PRINTED. A NOTE OF INTEREST-THE FLOATING POINT PACKAGE
IN FOCAL IS FROM THE INTEL USERS LIBRARY AND WAS ORIGINALLY
WRITTEN FOR THE 8008 CPU.
[A.R.G. I understand that the exponentiation error only
occurs (symptom x^y results in y^y) with the 100H origin.
May give a clue to finding page-dependant routine]
EDUCATOR.ASM -- THIS IS FROM BYTE MAGAZINE OF JULY 1976