.TITLE GETSYS .IDENT /V2.0/ ; ; ROBERT WATSON ; CISCO, INC. ; (918)665-2110 ; 4135 S. 100TH E. AVE. ; TULSA OK 74145 ; ; MODIFIED BY F.BORGER ALSO SAVE TI INFO ; ; ; THIS PROGRAM HAS BEEN DONATED TO THE PUBLIC DOMAIN ; AND IS NOT TO BE COPYRIGHTED. ; .PSECT GETSYS GETSYS::MOV 2(R5),ATLBUF ;ADDR OF ATL TASKNAME BUFFER MOV 4(R5),MRLBUF ;ADDR OF MRL TASKNAME BUFFER CLR ATLCTR ;REINITIALIZE ATL TASK COUNTER CLR MRLCTR ;REINITIALIZE MRL TASK COUNTER MOV #.ATLLH,R0 ;GET LISTHEAD ADDR MOV PS.EXP,-(SP) ;PUSH CURRENT PSW ONTO STACK BIS #140,PS.EXP ;;INHIBIT TASK SWITCHING SCAN: MOV (R0),R0 ;;GET NEXT NODE CMP R0,.ATLLH+2 ;;AT REAL-TIME NULL JOB? BEQ DONE ;;YES IF EQ MOV A.TI(R0),R1 ;GET TI PUD FOR LATER MOV A.TD(R0),R3 ;;GET STD ADDR BEQ SCAN ;;IF EQ THEN .T1ATL, .T2ATL, OR .TNATL CMPB A.TS(R0),#TS.MRL ;;A MEMORY REQUIRED STATE? BEQ MRL ;;YES IF EQ CMPB A.TS(R0),#TS.MRR ;;A MEMORY REQUIRED STATE? BEQ MRL ;;YES IF EQ CMPB A.TS(R0),#TS.MRE ;;A MEMORY REQUIRED STATE? BEQ MRL ;;YES IF EQ BIT #AF.CP,A.TF(R0) ;;OR A REAL-TIME CHECK-POINTED TASK ? BEQ ATL ;;BR IF ON ATL MRL: CMP MRLCTR,#30. ;;ROOM IN BUFFER? BGE DONE ;;NO IF GE INC MRLCTR ;;ADD THIS TASK TO CTR MOV S.TN+0(R3),@MRLBUF ;;STORE 1ST HALF OF TASK NAME ADD #2,MRLBUF ;;INC BUFFER ADDR MOV S.TN+2(R3),@MRLBUF ;;STORE 2ND HALF OF TASK NAME ADD #2,MRLBUF ;;INC BUFFER ADDR MOV U.DN(R1),@MRLBUF ;STORE TI NAME ADD #2,MRLBUF MOVB U.UN(R1),@MRLBUF ;SAVE DEVICE NUMBER ADD #2,MRLBUF BR SCAN ;;GO BACK FOR NEXT NODE ATL: CMP ATLCTR,#50. ;;ROOM IN BUFFER? BGE DONE ;;NO IF GE INC ATLCTR ;;ADD THIS TASK TO CTR MOV S.TN+0(R3),@ATLBUF ;;STORE 1ST HALF OF TASK NAME ADD #2,ATLBUF ;;INC BUFFER ADDR MOV S.TN+2(R3),@ATLBUF ;;STORE 2ND HALF OF TASK NAME ADD #2,ATLBUF ;;INC BUFFER ADDR MOV U.DN(R1),@ATLBUF ;STORE TI NAME ADD #2,ATLBUF MOVB U.UN(R1),@ATLBUF ;SAVE DEVICE NUMBER ADD #2,ATLBUF BR SCAN ;;GO BACK FOR NEXT NODE DONE: JSR PC,..ENB0 ;ENABLE TASK SWITCHING MOV #-1,@ATLBUF ;MARK END OF ATL MOV #-1,@MRLBUF ;MARK END OF MRL RTS PC ;RETURN TO CALLER ATLBUF: .WORD 0 MRLBUF: .WORD 0 ATLCTR: .WORD 0 MRLCTR: .WORD 0 .END