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
/
KAYPRO
/
KAYDIAG.LBR
/
CPMMAC.MQC
/
CPMMAC.MAC
Wrap
Text File
|
2000-06-30
|
5KB
|
190 lines
;;*******************************************************************
;;*******************************************************************
;;** MACRO LIBRARY FOR THE KAYPRO II 11/23/83 **
;;** WRITTEN BY LARRY KRAEMER LAST UPDATE 11/24/83 **
;;*******************************************************************
;;*******************************************************************
;;** THE FOLLOWING MACRO'S ARE IN THIS LIBRARY: **
;;** 1. VERSN **
;;** 2. MOVE **
;;** 3. SCREEN **
;;** 4. DELAY **
;;** 5. AON **
;;** 6. AOFF **
;;** 7. BON **
;;** 8. BOFF **
;;** 9. PRINT **
;;** 10. INPUT **
;;** 11. FILL **
;;** 12. SAVREG **
;;** 13. RESREG **
;;** **
;;** **
;;** **
;;** **
;;** **
;;** **
;;** **
;;** **
;;** **
;;** **
;;** **
;;** **
;
;
EOF EQU 1AH ;END OF FILE
ESC EQU 1BH ;ESCAPE
CR EQU 13 ;CARRIAGE RETURN
LF EQU 10 ;LINE FEED
TAB EQU 9 ;TAB = CONTROL I
SPACE EQU 20H ;SPACE
PERIOD EQU 46 ;DECIMAL POINT
COMMA EQU 44 ;COMMA
SYSPORT EQU 01CH ;SYSTEM BIT PORT
BDOS EQU 5 ;BDOS
VIDEO EQU 3000H
;
;
;
;; MACROS FOLLOW
;;
VERSN MACRO NUM
;;11/23/83
;;USAGE: NUM MUST BE ENCLOSED IN QUOTES VERSN 'XX.XX'
LOCAL AROUND
JP AROUND
DEFM "VER ",NUM
DEFM " WRITTEN BY LARRY KRAEMER "
DEFM "S-001"
AROUND:
ENDM
;
MOVE MACRO X,Y,Z
;;11/23/83
;;USAGE: X,Y,Z MUST BE A HEX NUMBER (ADDRESS)
;; THIS IS AN INCREMENTING MOVE IN ASCENDING ORDER
LD HL,X
LD DE,Y
LD BC,Z
LDIR
ENDM
;
SCREEN MACRO Z
;;11/23/83
;;USAGE: Z IS CHAR TO SEND TO VIDEO TERMINAL
;; THIS ROUTINE MUST BE LOCATED ABOVE 4000H TO WORK
IN A,(SYSPORT)
SET 7,A
SET 6,A
RES 0,A
RES 1,A
OUT (SYSPORT),A
LD HL,VIDEO
LD DE,VIDEO+1
LD BC,3*1024
LD (HL),Z
LDIR
ENDM
;
DELAY MACRO X,Y
;;11/24/83
;;USAGE: X IS THE OUTSIDE LOOP -- BC REG PAIR
;; Y IS THE INSIDE LOOP -- HL REG PAIR
LOCAL DELAY0,DELAY1
LD BC,X
DELAY0: LD HL,Y
DELAY1: DEC HL
LD A,H
OR L
JP NZ,DELAY1
DEC BC
LD A,B
OR C
JP NZ,DELAY0
ENDM
;
AON MACRO
;;11/24/83
;;USAGE: THIS WILL TURN ON DRIVE A LED
IN A,(SYSPORT)
SET 0,A
OUT (SYSPORT),A
ENDM
;
AOFF MACRO
;;11/24/83
;;USAGE: THIS WILL TURN OFF DRIVE A LED
IN A,(SYSPORT)
RES 0,A
OUT (SYSPORT),A
ENDM
;
BON MACRO
;;11/24/83
;;USAGE: THIS WILL TURN ON DRIVE B LED
IN A,(SYSPORT)
SET 1,A
OUT (SYSPORT),A
ENDM
;
BOFF MACRO
;;11/24/83
;;USAGE: THIS WILL TURN OFF DRIVE B LED
IN A,(SYSPORT)
RES 1,A
OUT (SYSPORT),A
ENDM
;
PRINT MACRO X
;;11/24/83
;;USAGE: THIS WILL PRINT A MESSAGE TO THE MONITOR. TO USE
;; THE MACRO POINT TO THE MESSAGE AND TERMINATE IT WITH
;; A '$' WHICH WILL STOP THE MACRO.
LD C,9
LD DE,X
CALL BDOS
ENDM
;
INPUT MACRO
;;11/24/83
;;USAGE: THIS WILL GET A CHARACTER FROM THE CONSOLE (UP CASE)
;;USAGE: (SINGLE CHARACTER ONLY) IT WILL WAIT FOR THAT CHAR.
LD C,1
CALL BDOS
RES 5,A
ENDM
;
FILL MACRO X,Y,Z
;;11/26/83
;;USAGE: THIS WILL FILL MEMORY FROM -X- THRU NUMBER OF BYTES -Y-
;;USAGE: WITH CHARACTER -Z-
LD HL,X
LD DE,X+1
LD BC,Y
LD (HL),Z
LDIR
ENDM
;
SAVREG MACRO
;;11/26/83
;;USAGE: SAVE ALL REGISTERS BY PUSHING ON STACK
PUSH AF
PUSH BC
PUSH DE
PUSH HL
PUSH IX
PUSH IY
ENDM
;
RESREG MACRO
;;11/26/83
;;USAGE: RESTORE ALL REGISTERS BY POPPING FROM STACK
POP IY
POP IX
POP HL
POP DE
POP BC
POP AF
ENDM
;