.ENABL LC .TITLE ASTBLK - AST Disable/Enable .IDENT /V00.01/ ; ;+ ; Disable AST's and call caller back as cooroutine. On return ; enable AST's (saving PWS/CARRY state). If AST's are already ; disabled, simply return. ; ; Call with: JSR PC,ASTBLK ; ; Exit with: AST disabled around cooroutine call. ;- .MCALL DSAR$S,ENAR$S ASTBLK:: ;Ref. label DSAR$S ;Disable AST's BCS 9999$ ; If CS - already disabled CALL @(SP)+ ;Call caller back ; ; Return here when ready to enable AST's. ; ROR -(SP) ;Save PSW/carry ENAR$S ;Enable AST's ROL (SP)+ ;Restore PSW/carry 9999$: RETURN ;Return to caller .END