DataMuseum.dk

Presents historical artifacts from the history of:

Jet Computer Jet80

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Jet Computer Jet80

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦db8283658⟧ TextFile

    Length: 1024 (0x400)
    Types: TextFile
    Names: »SAVREG.SRC«

Derivation

└─⟦c9df7130d⟧ Bits:30005915 Pascal MT+ Release 5.2 (Jet-80)
    └─ ⟦this⟧ »SAVREG.SRC« 

TextFile

;SAVE THE HL REG AND SET UP THE POINTERS TO THE TWO SETS ON THE STACK
;
	NAME SAVREG
	ENTRY	SAVREG
;
;
;	ON ENTRY :
;		HL = OFFSET OF SECOND SET FROM TOP OF STACK
;		DE = OFFSET FROM HL OF EQUIVALENT BYTE IN FIRST SET
;
;	ON EXIT :
;		HL -> SECOND SET
;		DE -> FIRST SET
;		 B  = SIZE OF SECOND SET ( OFFSET OF SET FROM TOP OF STACK )
;
;	THE RETURN ADDRESS IS PUSHED TWO LOCATIONS LOWER ON THE STACK AND
;		THE OFFSET OF THE SECOND SET IS STORED IN ITS OLD LOCATION.
;		THE OFFSET IS USED LATER TO CALCULATE HOW MANY BYTES TO
;		REMOVE, TO REMOVE THE SECOND SET FROM THE SET.
;
SAVREG:
	POP	B	; B = RETURN ADDRESS
	PUSH	H	; OFFSET OF SECOND SET
	PUSH	B
	MOV	B,L	; B = SIZE OF SECOND SET ( 0..255 )
	DAD	S	; SET HL TO POINT TO START OF SECOND SET
	INX	H	; CORRECT FOR OFFSET AND RETURN ADDRESS ON THE STACK
	INX	H
	INX	H
	INX	H
	INX	H
	XCHG		; DE -> SECOND SET
	DAD	D	; HL -> FIRST SET
	XCHG
	RET
	ENDIF
«eof»