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
/
CPM
/
ZCPR33
/
Z3-33
/
Z33-TM2.LBR
/
Z33M2.Z80
< prev
Wrap
Text File
|
2000-06-30
|
1KB
|
40 lines
; skeleton of a module that gets the address of the ZCPR33
; environmental descriptor from the command processor, and
; stores it away. Also a routine to retrieve it later,
; accessible from Turbo-Modula2.
;
; Steve Cohen
; June 8, 1987
;
PUBLIC GETENV
DB 'Z33ENV' ; JUST FOR FINDING THIS CODE WITH
; PATCHER OR DEBUGGER
; this is the routine to which a program will jump (after
; we patch it to do so) immediately upon execution which
; saves the ENV address which Z33 provides us in HL.
LD (Z33ADR),HL ; PATCH FIRST JUMP INSTRUCTION TO
; JUMP TO HERE
JP 0 ; PATCH THIS JUMP TO WHERE THE
; OLD FIRST JUMP INSTRUCTION
; JUMPED TO
Z33ADR: DW 0 ; STORAGE FOR Z33 ENV ADDRESS
;
; this routine can be called by any TM2 module that imports
; to return the ENV address. The procedure is in this form:
;
; PROCEDURE GETENV():CARDINAL;
;
GETENV:
LD HL,(Z33ADR) ; MUST HAVE BEEN PREVIOUSLY INITIALIZED
EX (SP),HL ; RETURN IT VIA STACK
PUSH HL ; put return address back
RET
ENDMUST HAVE BEEN PREVIOUSLY INITIALIZED
EX (SP),HL ; RETURN IT VIA STACK
PU