.TITLE CONTINUE PUNCHING .IDENT /V1.01/ .NLIST TOC,SYM .ENABL LC ; Part of Sira Paper Tape Punch Despooler. ; ; COPYRIGHT(C) 1981,1982 Sira Institute Ltd., ; South Hill, Chislehurst, Kent, BR7 5EH, England. ; ; Author: C.J. Doran ; ; Assemble as: ; >MAC PPPCONTIN=PPPCONTIN ;+ ; Process CONTINUE instruction from Queue Manager. For a general despooler, ; This may be continue from where stopped, or from a specified page in the ; file. However, for the punch the only sensible place to restart, if not ; from where stopped, is from the top of the file. ; Always restart from top of file if halt was on error. ; CONTINUE/ALIGN gives some runout before continuing from where stopped. ;- .PSECT CODE,I,RO CONTIN::CMPB STATE,#S.ACTV ; Only valid when file punching BNE 99$ ; Error elsewhere TSTB STPSTA ; Stopped by punch error? BMI 5$ ; Yes, always require restart from t-o-f CMPB -(%5),#QP.CUR ; Continue from where stopped? BEQ 10$ CMPB @%5,#QP.ALN ; Runout required? BEQ 20$ ; Anything else is t-o-f 5$: JMP RESTRT ; Restart at top of file 10$: JMP LFTOFF ; Back to where left off 20$: JMP RUNOUT ; Runout first 99$: JMP ILLCMD ; Error if called from wrong state .END