home *** CD-ROM | disk | FTP | other *** search
- TITLE 'DEMOSVC - TEST E370 SVCS'
- *
- * CONVERTED TO 8086 BY DON HIGGINS 03/30/85
- *
- * 04/06/85 CHANGE LINKED Z80SUB TO LOADED Z86SUB
- * 04/07/85 ADD TEST FOR TIMER SVC AND LIBRARY SUBROUTINES
- * 04/08/85 ADD TEST FOR ALLOC/DEALLOC SECONDARY MAIN MEMORY
- * 04/14/85 ADD TEST FOR IN/OUT SVCS BY GETTING CURSOR ADDRESS
- * 04/12/87 CONVERT FOR R2.0
- * 1. DROP ALLOC/DEALLOC TESTS SINCE ALL OF DYNAMIC
- * MEMORY IS ALLOCATED TO VIRTUAL FREE SPACE.
- * 2. CHANGE Z86SUB.EXE TO Z86SUB.COM FORMAT WITH
- * FAR RETURN AND USE NEW SVC 17 AND 15 LOGIC WHICH
- * LOADS 8086 CODE FILE IN FREE MEMORY JUST LIKE 370
- * LOAD DOES.
- * 3. FIX SPIE ROUTINE TO RETURN PSW IN R0-R1 INSTEAD OF
- * ADDDRESS OF PSW IN R1.
- * 05/16/87 TEST SVC 8 FOR GANNON
- *
- *
- *
- * CONSOLE IO TEST REQUIRES ENTERING ANY CHARACTERS AND RETURN
- * MEMORY TEST DISPLAYS AVAILABLE MEMORY FOR GMAIN'S
- *
- DEMOSVC CSECT
- LR R12,R15
- USING DEMOSVC,R12
- LA R2,=C'TESTSVC START$'
- SVC WTO
- L R15,=V(PET)
- BALR R14,R15
- ** L R2,=A(1000000)
- ** SVC ASMEM
- ** CLM R0,1,=X'08' MEMORY NOT AVAIL. ERR - R2 = AVAILABLE
- ** BNZ GMAINERR
- ** SVC ASMEM ALLOCATE AVAILABLE
- ** CLM R0,1,=X'00'
- ** BNZ GMAINERR
- ** SVC DSMEM FREE ALLOCATED SECONDARY MEMORY
- ** CLM R0,1,=X'00'
- ** BNZ FMAINERR
- ** CVD R1,PWORK
- ** MVC DSMEMS,DSMASK
- ** ED DSMEMS,PWORK+4 START
- ** CVD R2,PWORK
- ** MVC DSMEML,DSMASK
- ** ED DSMEML,PWORK+4 LENGTH
- ** LA R2,DSMMSG
- ** SVC WTO
- L R1,=A(1000000)
- SVC GMAIN
- CLM R0,1,=X'01'
- BNE GMAINERR A=1 MEMORY NOT AVAIL
- LR R5,R1 SVE R1 FOR CHECK AFTER 2G+2F
- CVD R1,PWORK
- ED DMEM,PWORK+5
- LA R2,DMEMMSG
- SVC WTO
- LA R1,2000
- SVC GMAIN
- CLM R0,1,=X'00'
- BNZ GMAINERR
- LR R4,R2 R4 = FIRST AREA
- LA R1,2000
- SVC GMAIN
- CLM R0,1,=X'00'
- BNZ GMAINERR
- LR R6,R2 R6 = SECOND AREA
- LR R0,R4
- AH R0,=H'2000'
- CLR R0,R6
- BNE GMAINERR
- LA R1,2000
- LR R2,R4
- SVC FMAIN
- CLM R0,1,=X'00'
- BNE FMAINERR
- LA R1,2000
- LR R2,R6
- SVC FMAIN
- CLM R0,1,=X'00'
- BNE FMAINERR
- L R1,=A(1000000)
- SVC GMAIN
- CLR R1,R5
- BNE FMAINERR VERIFY MEMORY BACK TO ORIG.
- LA R1,USERSPIE
- SVC SPIE
- INVOP DC X'0123' INVALID OP 0C1
- SPIEOK EQU *
- L R15,=V(USER370A)
- BALR R14,R15
- L R15,=V(USER370B)
- BALR R14,R15
- LA R1,=C'Z86SUB.COM'
- SVC LOADSVC LOAD Z86SUB.COM IN FREE MEMORY
- ST R0,LOADADDR
- CLM R15,1,=X'00'
- BNE LOADERR
- L R15,LOADADDR
- SVC CALLZ86 EXEC Z86SUB IN FREE MEMORY
- LA R2,=C'CONSOLE ECHO TEST UNTIL <CR>$'
- SVC WTO
- ECHO EQU *
- SVC READCON
- CLM R0,1,=AL1(CR)
- BE ECHODONE
- LR R2,R0
- SVC WRITECON
- B ECHO
- ECHODONE EQU *
- LA R2,=C'CONSOLE ECHO DONE$'
- SVC WTO
- SR R1,R1
- SVC SPIE REMOVE SPIE
- LA R2,=C'START CURSOR ADDRESS ROUTINE$'
- SVC WTO
- LA R0,X'0E'
- LA R1,X'3D4'
- SVC PORTOUT SET CURSOR HIGH BYTE INDEX POINTER
- LA R1,X'3D5'
- SVC PORTIN READ HIGH BYTE
- LR R3,R0 SAVE IN R3
- LA R0,X'0F'
- LA R1,X'3D4'
- SVC PORTOUT SET CURSOR LOW BYTE INDEX POINTER
- LA R1,X'3D5'
- SVC PORTIN READ LOW BYTE
- SLL R3,8
- OR R0,R3
- CVD R0,PWORK
- ED DCUR,PWORK+5
- LA R2,DCURMSG
- SVC WTO
- L R15,=V(PET)
- BALR R14,R15
- LA R2,=C'TESTSVC ENDED$'
- SVC WTO
- SVC EXIT
- LOADERR EQU *
- LA R2,=C' LOAD ERROR ON Z86SUB.EXE$'
- SVC WTO
- SVC TRACE
- DC C'BUG'
- SVC EXIT
- GMAINERR EQU *
- LR R3,R0
- LA R2,=C'GMAIN ERROR$'
- SVC WTO
- SVC TRACE
- DC C'BUG'
- SVC EXIT
- FMAINERR EQU *
- LR R3,R0
- LA R2,=C'FMAIN ERROR$'
- SVC WTO
- SVC TRACE
- DC C'BUG'
- SVC EXIT
- USERSPIE EQU *
- LR R3,R1
- LA R2,=C'USER SPIE EXIT TAKEN$'
- SVC WTO
- CLC 0(2,R3),=X'0123'
- BE 2(R3)
- LA R2,=C'SPIE PSW ADDR BAD$'
- SVC WTO
- SVC TRACE
- DC C'BUG'
- SVC EXIT
- DC C'*** SAVE PSW ***'
- SAVEPSW DC D'0'
- R0 EQU 0
- R1 EQU 1
- R2 EQU 2
- R3 EQU 3
- R4 EQU 4
- R5 EQU 5
- R6 EQU 6
- R12 EQU 12
- R14 EQU 14
- R15 EQU 15
- WTO EQU 209
- TRACE EQU 9
- EXIT EQU 0
- PORTIN EQU 21
- PORTOUT EQU 22
- READCON EQU 208 WAS 201 UNTIL 5/16/87
- WRITECON EQU 202
- CALLZ86 EQU 15
- LOADSVC EQU 17
- LOADADDR DC A(0) VIRTUAL LOAD ADDRESS SET BY SVC NOW
- SPIE EQU 14
- GMAIN EQU 10
- FMAIN EQU 11
- CR EQU X'0D'
- PWORK DC D'0'
- DMEMMSG DC C'FREE MEMORY ='
- DMEM DC X'402020202020',C'$'
- ASMEM EQU 19
- DSMEM EQU 20
- DSMASK DC X'4020',C',',X'202020',C',',X'202020'
- DSMMSG DC C' SECONDARY MEMORY START ='
- DSMEMS DC CL10' Z,ZZZ,ZZZ',C' LENGTH ='
- DSMEML DC CL10' Z,ZZZ,ZZZ',C'$'
- DCURMSG DC C' CURSOR ADDRESS ='
- DCUR DC X'402020202020',C'$'
- LTORG
- USER370A CSECT
- DROP
- USING *,R15
- LA R2,MSGA1
- SVC WTO
- USER370B CSECT
- DROP
- USING *,R15
- LA R2,MSGB1
- SVC WTO
- USER370A CSECT
- DROP
- USING USER370A,R15
- LA R2,=C'USER 370 A MSG 2$'
- SVC WTO
- BR R14
- MSGA1 DC C'USER 370 A MSG 1$'
- LTORG
- USER370B CSECT
- DROP
- USING USER370B,R15
- LA R2,=C'USER 370 B MSG 2$'
- SVC WTO
- BR R14
- MSGB1 DC C'USER 370 B MSG 1$'
- LTORG
- END DEMOSVC