Compucolor.org – Virtual Media

Listing of file='RGWTCH.SRC;01' on disk='vmedia/ncc_4_11-sector.ccvf'

;-----REGISTER WATCHER AND PGM EXECUTOR---
;
TM	EQU	1024*40-96
	ORG	TM
REGW:	MOV	A,E
	CPI	7
	JNZ	END7
	JMP	ST7
SPTR:	DW	0
STAACC:	DW	0
BREG:	DW	0FFH
DREG:	DW	88H
HREG:	DW	44H
RETOLD:	DW	0	;ADDR OF OLD INSTRUCTION
DATOLD:	DW	0	;CONTENT OF OLD INSTRUCTION
	DB	0
ST7:	LHLD	STAACC	;LOAD TO 8080A REGISTERS
	PUSH	H
	POP	PSW	;ACC & PSW
	LXI	H,0	;SAVE STACK POINTER
	DAD	SP
	SHLD	SPTR
	LHLD	DREG
	XCHG		;D<>H
	LHLD	BREG
	MOV	B,H	;H>B
	MOV	C,L
	LHLD	HREG	;FILL H
PGMCAL:	JMP	TEST	;JMP TO PROGRAM(PGM ADDR HERE)
	SHLD	HREG	;STORE H TO PSEUDO REG
	PUSH	PSW
	POP	H
	SHLD	STAACC	;STO ACC,PSW
	LHLD	SPTR	;GET OLD STACK POINTER
	SPHL
	MOV	H,B
	MOV	L,C
	SHLD	BREG	;STORE B REG
	XCHG
	SHLD	DREG	;STORE D REG
END7:	RET		;GO BACK TO BASIC
TEST:	JMP	END7	;TEST PGM
	END	REGW