.TITLE MN07.. NODE MANIPULATION ROUTINES .IDENT /MN07../ ; ; .PAGE ; ; ; N$NEXT:: ;GET NEXT NODE ADDRESS ; ; EXIT CONDITIONS ; R0 -> ACCESS ADDRESS IF STATUS = SUCCESS ; CALL N$SETUP ;CHECK IF NODE TABLE SET UP IFSUCCESS 20$ ;J IF TABLE SET UP RETURN ;EXIT INDICATING ERROR CONDITION ; 20$: MOV NNEXT,R0 ;HOLD ADDRESS OF START POSITION TST 2(R0) ;IS THIS THE TERMINATING NODE BNE 30$ ;J IF NOT THE LAST NODE MOV NFIRST,NNEXT ;HOLD ADDRESS OF FIRST NODE BR 40$ ;EXIT MARKING SUCCESS ; 30$: ADD #6,NNEXT ;STEP PAST NODE HEADER MOV 2(R0),R0 ;HOLD NUMBER OF BYTES IN NODE BIC #100000,R0 ;REMOVE PROTECT FLAG IF SET ADD R0,NNEXT ;INCREMENT POINTER TO START OF NEXT NODE 40$: MOV NNEXT,R0 ;HOLD START ADDRESS OF NODE HEADER CMP (R0)+,(R0)+ ;INCREMENT TO ACCESS ADDRESS EXITSUCCESS ; ; .END ; ; ;