.TITLE MN02.. NODE MANIPULATION ROUTINES .IDENT /MN02../ ; .PAGE N$DUMP:: ;DUMP NODES FROM NODE TABLE ; ; ENTRY CONDITIONS ; R0 = NUMBER OF NODES TO DUMP ; SAVE R0,R1 ;PROTECT REGISTERS MOV R0,R1 ;HOLD NUMBER OF NODES TO DUMP BGT 10$ ;J IF VALID NUMBER OF NODES JMP DUMP9 10$: CALL N$PRESENT ;LOCATE POSITION OF PRESENT NODE NEWLINE ; DUMP1: PRINT ,<"MARKERS = "> MOV -4(R0),R0 CALL R$BOCT PRINT SPACES 5 CALL N$PRESENT PRINT ,<"MAX SIZE = "> MOV -2(R0),R0 BIC #100000,R0 ;REMOVE PROTECT MARKER IF SET CALL R$BDEC PRINT SPACES 5 PRINT ,<"LENGTH = "> CALL N$PRESENT MOV @R0,R0 CALL R$BDEC PRINT CALL N$PRESENT TST -2(R0) BGE DUMP2 SPACES 5 PRINT ,<"NODE PROTECTED"> ; DUMP2: TST -4(R0) BGE DUMP3 SPACES 5 PRINT ,<"NODE DELETED"> ; DUMP3: NEWLINE PRINT ,<"STRING = "> CALL N$PRESENT PRINT NEWLINE CALL N$NEXT MOV NNEXT,NPRESENT DEC R1 ;REDUCE NUMBER OF NODES TO BE PROCESSED BEQ 10$ ;J IF END JMP DUMP1 ;AROUND AGAIN 10$: NEWLINE DUMP9: UNSAVE R0,R1 RETURN ; ; .END ; ; ;