.LIST ME .NLIST CND .MCALL .DRDEF,.PURGE,.GTLIN,.DSTATUS,.PRINT,.ADDR,.MODULE,.EXIT .ASECT .=42 .WORD STEK .DRDEF TL,374,0,0,0,0 .DRSET TIME,1,SET,NUM .DRSET ON,<111>,ONTL .DRSET OFF,<117>,OFFTL ONTL: MOV #512, R0 .ADDR #LOAD,R2 CALL COPTX CALL COPRN BR COPSS OFFTL: MOV #512, R0 CALL COPRN .ADDR #UNLO,R2 CALL COPTX COPSS: SUB #512, R0 MOV R0, @#510 BIS #4000,@#44 CLR R0 EMT 350 COPRN: MOVB R3,RF5 .ADDR #RUNF,R2 COPTX: MOVB (R2)+, (R0)+ BNE COPTX RETURN UNLO: .ASCIZ /$UNL TL/ LOAD: .ASCIZ /$LO TL/ RUNF: .ASCII /$RU SY:TL.SYS / RF5: .ASCIZ / / .EVEN SET: TST R0 BNE 1$ MOV R3,R0 1$: MOV R0,DD .ADDR #ADR,R1 .ADDR #SYBLK+2,R2 .DSTATUS R1,R2 MOV INF,R1 BEQ 2$ SUB #4,R1 ADD @R1,R1 MOV R1,CLKREZ ADD #DD-TLINT,R1 MOV DD,@R1 2$: RETURN .DRBEG TL MOV TLCQE,R4 BIS #HDERR$,@-(R4) .DRFIN TL ; .DRAST TL,0 RETURN TLINT:: MOV R0, -(SP) MOV (PC)+, R0 DD: .WORD 1 1$: SOB R0, 1$ MOV (SP)+, R0 JMP @(PC)+ CLKADR: .WORD 0 ; RETURN .DREND TL REZV: .WORD 0 CLKREZ: .WORD 0 FLG: .WORD 0 ADDR: .WORD 0 ADR: .WORD 0,0 INF: .WORD 0,0 SYBLK: .RAD50 /SY TL SYS/ ; .LOOKUP #AREA,#0,#SYBLK LOK: .WORD 400,SYBLK,0 ; .WRITW #AREA,#0,#1000,#400,#1 WRI: .WORD 11*400+0 .WORD 1,1000,400,0 WRIT: MOV #LOK,R0 EMT 375 BCS 1$ MOV #WRI,R0 EMT 375 BCS 1$ .PURGE #0 RETURN 1$: .PRINT #MES7 CLR R0 .EXIT ST: .GTLIN #BUF2 .DSTATUS #ADR,#SYBLK+2 CMPB BUF2,#'O BEQ 11$ CMPB BUF2,#'I BNE 1$ 32$: MOV #MES,R0 EMT 351 TST INF BEQ 13$ MOV INF,R1 SUB #4,R1 ADD @R1,R1 CMP R1,@#64 BEQ 16$ MOV R1,CLKREZ ADD #CLKADR-TLINT,R1 MOV @#64,@R1 MOV @#64,CLKADR CALL WRIT MOV CLKREZ,@#64 1$: MOV #1,R0 EMT 350 11$: TST INF BEQ 18$ 14$: TST CLKREZ BEQ 18$ MOV CLKADR,@#64 CLR CLKREZ CALL WRIT BR 1$ 13$: MOV #M2,R1 BR 20$ 18$: MOV #M4,R1 19$: MOV (R1)+,R0 BEQ 21$ .PRINT BR 19$ 21$: CLR R0 EMT 350 16$: MOV #M3,R1 20$: MOV (R1)+,R0 BEQ 1$ .PRINT BR 20$ M2: MES2,MES6,0 M4: MES2,MES5,MES4,0 M3: MES2,MES5,MES3,0 MES: .ASCIZ /TL /<16>/"МИГ" <1988>/<17> MES2: .ASCII /?TL-/<16>/Драйвер /<200> MES6: .ASCIZ /не загружен/<17> MES5: .ASCII /уже в/<200> MES4: .ASCII /ы/ MES3: .ASCIZ /ключен/<17> MES7: .ASCIZ /?TL-/<16>/Ошибка/<17> .EVEN BUF2: STEK=.+1000 .END ST