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
/
CPMUG035.ARK
/
XTRA.ASM
< prev
Wrap
Assembly Source File
|
1984-04-29
|
1KB
|
47 lines
* THESE ROUTINES USE INPARM AND OUTPARM TO INTERFACE THE
* SYSTEM UTILITY ROUTINES (PUT, GET, OBJR, OBJW) TO THE
* VERSION II BEAST INTERPRETER (EXEC)
*
INPARM EQU 5030H
OUTPARM EQU 5033H
*
ORG 2B80H
PUT EQU 5000H
XPUT: CALL INPARM ;GET X-COORDINATE INTO B
MOV B,E
CALL INPARM ;GET Y-COORDINATE INTO C
MOV C,E
CALL INPARM ;GET COLOR BYTE INTO D
MOV D,E
JMP PUT ;AND "PUT" IT AT (X,Y)
*
GET EQU 5003H
XGET: CALL INPARM ;GET X-COORD INTO B
MOV B,E
CALL INPARM ;GET Y-COORD INTO C
MOV C,E
CALL GET ;"GET" COLOR BYTE INTO E
MOV E,D
MVI D,0 ;AND ZERO OUT HI-BYTE FOR PARM PASSING
JMP OUTPARM ;AND RETURN THE COLOR VALUE
*
OBJR EQU 5006H
XOBJR: CALL INPARM ;GET OBJECT NUMBER INTO A FOR NOW
MOV A,E
CALL INPARM ;GET BYTE NUMBER INTO E
MOV D,A ;PUT OBJECT NUMBER IN D WHERE IT BELONGS
CALL OBJR ;GET VALUE OF SPECIFIED OBJECT-BYTE
MOV E,A ;INTO E AND ZERO OUT D FOR PARM PASSING
MVI D,0
JMP OUTPARM ;RETURN THE VALUE OF THE SPECIFIED BYTE
*
OBJW EQU 5009H
XOBJW: CALL INPARM ;GET OBJECT # INTO H
MOV H,E
CALL INPARM ;GET BYTE # INTO L
MOV L,E
CALL INPARM ;GET DESIRED VALUE INTO A
MOV A,E
XCHG ;GET OBJECT & BYTE INTO D & E WHERE THEY BELONG
JMP OBJW ;AND PUT DESIRED VALUE INTO DESIRED OBJECT-BYTE