.TITLE MPVTCB .IDENT /V1.0A/ ; ; WRITTEN BY R. KINNE STRONG, 14-DEC-77 ; ; THIS IS A FORTRAN-CALLABLE ROUTINE THAT WILL ENABLE FORTRAN TRACEBACK ; ON A MEMORY PROTECT VIOLATION (SST 1). THIS ROUTINE IS NECESSARY ; BECAUSE THE VERSION OF OTS SHIPPED WITH RSX1-11M FORTRAN V01C ; DOES NOT RECOVER SST 1'S SO THE OFFENDING TASK GETS ONLY THE SYSTEM ; ERROR MESSAGE, WHICH IS NOT VERY USEFUL. ; ; TO USE THIS ROUTINE, SIMPLY CALL MPVTCB SOMETIME BEFORE THE ; OFFENDING MEMORY REFERENCE. MPVTCB MAY BE CALLED AS MANY TIMES ; AS YOU CHOOSE WITHOUT ANY HARMFUL EFFECTS. ; ; THE PC OF THE OFFENDING INSTRUCTION IS NOT PRINTED. SORRY. IF IT ; TURNS OUT TO BE USEFUL, YOU CAN ALWAYS TAKE OUT THE CALL AND ; RE-CREATE THE PROBLEM. (I HOPE!) ; ; IN WRITING THIS, I RELIED ON INFORMATION IN THE FOLLOWING: ; ; IAS/RSX-11 FORTRAN IV USER'S GUIDE, SECTIONS C.2.3.2 AND C.2.4 ; ; RSX-11M EXECUTIVE REFERENCE MANUAL, SECTION 2.3.2 ; MPVTCB::MOV #MYRTN,$SST+2 ;ENABLE MY SST ROUTINE RETURN ;GO HOME, ALREADY! MYRTN: ADD #2*5,SP ;POP ALL THE DETAILS OFF THE STACK TRAP 128.+4 ;GIVE OTS ERROR 4 IOT ;SHOULD NOT RETURN FROM TRAP .END