.IDENT /V4.0/ .LIBRARY /SYS$LIBRARY:LIB/ .MACRO ASCID STRING,?L .ENABLE LOCAL_BLOCK .PSECT PDATA L: .ASCII "STRING" ...LEN =.-L .PSECT DATA .WORD ...LEN .WORD ^X010E .ADDRESS L .DISABLE LOCAL_BLOCK .ENDM ASCID .MACRO CHEK ?L BLBS R0,L PUSHL R0 CALLS #1,G^LIB$SIGNAL L: .ENDM CHEK .PSECT PDATA NOEXE,NOWRT,SHR STATARY: .ADDRESS TEMP0 .ADDRESS SCH$GL_BORROWLIM .ADDRESS SCH$GL_GROWLIM .ADDRESS SGN$GL_FREEGOAL .ADDRESS SCH$GL_FREELIM .ADDRESS SCH$GL_FREECNT .ADDRESS TEMP2 .ADDRESS TEMP3 .ADDRESS MPW$GL_WAITLIM .ADDRESS MPW$GL_THRESH .ADDRESS SCH$GL_MFYLIM .ADDRESS SCH$GL_MFYLOLIM .ADDRESS SCH$GL_MFYCNT .ADDRESS MPW$GW_MPWPFC ENTS =<.-STATARY>/4 SEC: .LONG -10000000 .LONG -1 TENSEC: .LONG -20000000 .LONG -1 .PSECT DATA NOEXE,WRT,NOSHR TEMP0: .LONG 0 TEMP2: .LONG 0 TEMP3: .LONG 0 HEAD: ASCID F1: ASCID F2: ASCID F3: ASCID F4: ASCID F5: ASCID ASCID < > M: ASCID M1: ASCID M2: ASCID M3: ASCID M4: ASCID M5: ASCID M6: ASCID FS: ASCID FD: .ASCID " " .BLKB 80 SPOTS: ASCID <____________________________________________________________> PREVAL: .BLKL ENTS SCRBUF: .WORD SCLEN .WORD ^X010E .ADDRESS 10$ 10$: .BLKB 256 SCLEN =.-10$ .PSECT CODE EXE,SHR,NOWRT .ENTRY START ^M PUSHL #1 PUSHL #1 CALLS #2,G^SCR$ERASE_PAGE CHEK PUSHAL SCRBUF CALLS #1,G^SCR$SET_BUFFER CHEK $SCHDWK_S DAYTIM=TENSEC - REPTIM=SEC CHEK LOOP: $HIBER_S CHEK MOVAL STATARY,R10 CLRL R9 MOVAL HEAD,R8 MOVAL PREVAL,R6 MOVL #1,(R6) 10$: MOVW #80,FD MOVL (R10)[R9],R7 CMPL (R7),(R6)[R9] BNEQ 20$ BRW 90$ 20$: MOVL (R7),(R6)[R9] $FAO_S CTRSTR=(R8)[R9] - OUTLEN=FD - OUTBUF=FD - P1=(R7) CHEK PUSHL #1 ADDL3 #1,R9,-(SP) PUSHAL FD CALLS #3,G^SCR$PUT_SCREEN CHEK 90$: AOBLSS #ENTS,R9,10$ MULL3 #40,PREVAL+20,R6 DIVL2 PREVAL+4,R6 CMPL #80,R6 BGTR 100$ MOVL #80,R6 100$: MOVW R6,SPOTS PUSHL #1 PUSHL #7 PUSHAL SPOTS CALLS #3,G^SCR$PUT_SCREEN CHEK CALLS #0,G^SCR$ERASE_LINE MULL3 #40,PREVAL+48,R6 DIVL2 PREVAL+32,R6 CMPL #80,R6 BGTR 110$ MOVL #80,R6 110$: MOVW R6,SPOTS PUSHL #2 PUSHL #1 PUSHL #15 PUSHAL SPOTS CALLS #3,G^SCR$PUT_SCREEN CHEK CALLS #0,G^SCR$ERASE_LINE CALLS #0,G^SCR$PUT_BUFFER CHEK BRW LOOP RET .END START