Difference between revisions of "Uknc ROM disasm - 5"

From Felixl.com
Jump to navigationJump to search
 
(Исправлены ошибки)
 
Line 1: Line 1:
 
<pre>
 
<pre>
 +
 
; ******************************************************
 
; ******************************************************
 
; *                                                    *
 
; *                                                    *
Line 9: Line 10:
  
 
; ТОЧКА ВХОДА ПРИ ИСПОЛНЕНИИ ESC-ПОСЛЕДОВАТЕЛЬНОСТИ ESC %!0 (ВХОД В ГРАФИКУ)
 
; ТОЧКА ВХОДА ПРИ ИСПОЛНЕНИИ ESC-ПОСЛЕДОВАТЕЛЬНОСТИ ESC %!0 (ВХОД В ГРАФИКУ)
135436$:MOV R5,-(SP)
+
135436$:MOV     R5,-(SP)
MOV SP,R5
+
        MOV     SP,R5
135442$:CALL 136274$
+
135442$:CALL   136274$
TST R0
+
        TST     R0
BNE 135442$
+
        BNE     135442$
JMP 136056$
+
        JMP     136056$
 
; П/п установки начальных значений для п/п графического режима
 
; П/п установки начальных значений для п/п графического режима
135456$:MOV R5,-(SP)
+
135456$:MOV     R5,-(SP)
MOV SP,R5
+
        MOV     SP,R5
MOV 22664$,R0
+
        MOV     22664,R0
ASL R0
+
        ASL     R0
ASL R0
+
        ASL     R0
ADD #2500,R0
+
        ADD     #2500,R0
ADD #-4,R0
+
        ADD     #-4,R0
MOV R0,23432$
+
        MOV     R0,23432
MOV 23432$,23434$
+
        MOV     23432,23434
MOV #1200,23412$
+
        MOV     #1200,23412
CLR 23420$
+
        CLR     23420
CLR 23422$
+
        CLR     23422
MOV #1,R0
+
        MOV     #1,R0
MOV 23420$,R1
+
        MOV     23420,R1
BIC #177770,R1
+
        BIC     #177770,R1
MOV R1,23440$
+
        MOV     R1,23440
ASH 23440$,R0
+
        ASH     23440,R0
MOV R0,23436$
+
        MOV     R0,23436
MOV 23432$,R0
+
        MOV     23432,R0
MOV 23422$,R1
+
        MOV     23422,R1
ASL R1
+
        ASL     R1
ASL R1
+
        ASL     R1
SUB R1,R0
+
        SUB     R1,R0
MOV R0,23434$
+
        MOV     R0,23434
MOV @23434$,R0
+
        MOV     @23434,R0
MOV 23420$,R1
+
        MOV     23420,R1
ASH #-3,R1
+
        ASH     #-3,R1
MOV R1,23426$
+
        MOV     R1,23426
ADD 23426$,R0
+
        ADD     23426,R0
MOV R0,23430$
+
        MOV     R0,23430
CLR 23442$
+
        CLR     23442
CLR 23444$
+
        CLR     23444
CLR 23446$
+
        CLR     23446
CLR 23450$
+
        CLR     23450
CLR 23452$
+
        CLR     23452
CLR 23454$
+
        CLR     23454
CLR 23456$
+
        CLR     23456
CLR 23460$
+
        CLR     23460
CLR 23462$
+
        CLR     23462
JMP 136056$
+
        JMP     136056$
 
; Точка входа при вызове п/п печати экрана
 
; Точка входа при вызове п/п печати экрана
135704$:MOV R0,-(SP)
+
135704$:MOV     R0,-(SP)
MOV R1,-(SP)
+
        MOV     R1,-(SP)
CALL 140326$
+
        CALL   140326$
MOV (SP)+,R1
+
        MOV     (SP)+,R1
MOV (SP)+,R0
+
        MOV     (SP)+,R0
RETURN
+
        RETURN
 
; П/п вывода символа на принтер
 
; П/п вывода символа на принтер
135722$:MOV R5,-(SP)
+
135722$:MOV     R5,-(SP)
MOV SP,R5
+
        MOV     SP,R5
BIT #2,177101$ ; Принтер в состоянии ON-LINE ?
+
        BIT     #2,177101       ; Принтер в состоянии ON-LINE ?
BEQ 136000$ ; Нет
+
        BEQ     136000$         ; Нет
135736$:BIT #200,177101$ ; Бит подтверждения сброшен ?
+
135736$:BIT     #200,177101     ; Бит подтверждения сброшен ?
BNE 135736$ ; Нет
+
        BNE     135736$         ; Нет
MOV 4(R5),177100$ ; Послать код символа на линию данных
+
        MOV     4(R5),177100   ; Послать код символа на линию данных
BIC #200,177102$ ; Установить сигнал строба
+
        BIC     #200,177102     ; Установить сигнал строба
135762$:BIT #200,177101$ ; Получен сигнал подтверждения ?
+
135762$:BIT     #200,177101     ; Получен сигнал подтверждения ?
BEQ 135762$ ; Нет
+
        BEQ     135762$         ; Нет
MOV #200,177102$ ; Сбросить сигнал строба
+
        MOV     #200,177102     ; Сбросить сигнал строба
136000$:JMP 136056$
+
136000$:JMP     136056$
 
; П/п инициализации параллельного порта
 
; П/п инициализации параллельного порта
136004$:MOV R5,-(SP)
+
136004$:MOV     R5,-(SP)
MOV SP,R5
+
        MOV     SP,R5
MOV #174,177103$
+
        MOV     #174,177103
MOV #200,177102$
+
        MOV     #200,177102
JMP 136056$
+
        JMP     136056$
  
136030$:MOV R5,R0
+
136030$:MOV     R5,R0
MOV SP,R5
+
        MOV     SP,R5
MOV R4,-(SP)
+
        MOV     R4,-(SP)
MOV R3,-(SP)
+
        MOV     R3,-(SP)
MOV R2,-(SP)
+
        MOV     R2,-(SP)
CLR -(SP)
+
        CLR     -(SP)
JMR @R0
+
        JMP    @R0
136046$:MOV R5,R2
+
136046$:MOV     R5,R2
MOV -(R2),R4
+
        MOV     -(R2),R4
MOV -(R2),R3
+
        MOV     -(R2),R3
MOV -(R2),R2
+
        MOV     -(R2),R2
136056$:MOV R5,SP
+
136056$:MOV     R5,SP
MOV (SP)+,R5
+
        MOV     (SP)+,R5
RETURN
+
        RETURN
 
; Блок описания Esc-последовательностей графического режима
 
; Блок описания Esc-последовательностей графического режима
136064$:.WORD 136414$,111,0,136502$ ; LI
+
136064$:.WORD   136414$,111,0,136502$   ; LI
136074$:.WORD 136622$,126,136602$,120 ; MV, MP
+
136074$:.WORD   136622$,126,136602$,120 ; MV, MP
.WORD 136562$,115,136542$,114 ; MM, ML
+
        .WORD   136562$,115,136542$,114 ; MM, ML
.WORD 0,136642$
+
        .WORD   0,136642$
136120$:.WORD 137054$,125,136706$,122 ; RU,RR
+
136120$:.WORD   137054$,125,136706$,122 ; RU,RR
.WORD 136700$,104,0,137064$ ; RD
+
        .WORD   136700$,104,0,137064$   ; RD
136140$:.WORD 137122$,104,0,137164$ ; TD
+
136140$:.WORD   137122$,104,0,137164$   ; TD
137150$:.WORD 140140$,111,137722$,110 ; UI, UH
+
136150$:.WORD   140140$,111,137722$,110 ; UI, UH
.WORD 137620$,107,137442$,106 ; UG, UF
+
        .WORD   137620$,107,137442$,106 ; UG, UF
.WORD 137432$,105,137424$,104 ; UE, UD
+
        .WORD   137432$,105,137424$,104 ; UE, UD
.WORD 137412$,103,137334$,102 ; UC, UB
+
        .WORD   137412$,103,137334$,102 ; UC, UB
.WORD 137422$,101,0,140174$ ; UA
+
        .WORD   137222$,101,0,140174$   ; UA
136220$:.WORD 140322$,41,0,140302$ ; %!
+
136220$:.WORD   140232$,41,0,140302$   ; %!
136230$:.WORD 140202$,45,137172$,125 ; %*, U*
+
136230$:.WORD   140202$,45,137172$,125 ; %*, U*
.WORD 137072$,124,136650$,122 ; T*, R*
+
        .WORD   137072$,124,136650$,122 ; T*, R*
.WORD 136512$,115,136364$,114 ; M*, L*
+
        .WORD   136512$,115,136364$,114 ; M*, L*
.WORD 0,140310$
+
        .WORD   0,140310$
136264$:.WORD 136334$,33,0,140316$ ; Esc
+
136264$:.WORD   136334$,33,0,140316$   ; Esc
  
136274$:JSR R5,136030$
+
136274$:JSR     R5,136030$
ADD #-6,SP
+
        ADD     #-6,SP
CALL 145564$
+
        CALL   145564$
MOVB R0,-7(R5)
+
        MOVB   R0,-7(R5)
MOVB -7(R5),R0
+
        MOVB   -7(R5),R0
BIC #177400,R0
+
        BIC     #177400,R0
MOV #132264$,R1
+
        MOV     #136264$,R1
JMP 144650$
+
        JMP     144650$
 
; П/п обработки символа Esc
 
; П/п обработки символа Esc
136334$:CALL 145564$
+
136334$:CALL   145564$
MOVB R0,-7(R5)
+
        MOVB   R0,-7(R5)
MOVB -7(R5),R0
+
        MOVB   -7(R5),R0
BIC #177400,R0
+
        BIC     #177400,R0
MOV #132230$,R1
+
        MOV     #136230$,R1
JMP 144650$
+
        JMP     144650$
 
; П/п обработки Esc L
 
; П/п обработки Esc L
136364$:CALL 145564$
+
136364$:CALL   145564$
MOVB R0,-7(R5)
+
        MOVB   R0,-7(R5)
MOVB -7(R5),R0
+
        MOVB   -7(R5),R0
BIC #177400,R0
+
        BIC     #177400,R0
MOV #136064$,R1
+
        MOV     #136064$,R1
JMP 144650$
+
        JMP     144650$
 
; П/п обработки Esc LI
 
; П/п обработки Esc LI
136414$:CALL 143756$
+
136414$:CALL   143756$
MOV 23424$,23456$
+
        MOV     23424,23456
CALL 143756$
+
        CALL   143756$
MOV 23424$,23460$
+
        MOV     23424,23460
CALL 143756$
+
        CALL   143756$
MOV 23424$,23462$
+
        MOV     23424,23462
MOV 23462$,@SP
+
        MOV     23462,@SP
MOV 23460$,-(SP)
+
        MOV     23460,-(SP)
MOV 23456$,-(SP)
+
        MOV     23456,-(SP)
CALL 117026$
+
        CALL   117026$
CMP (SP)+,(SP)+
+
        CMP     (SP)+,(SP)+
MOVB #1,R0
+
        MOVB   #1,R0
BR 136506$
+
        BR     136506$
136502$:MOVB #1,R0
+
136502$:MOVB   #1,R0
136506$:JMP 136046$
+
136506$:JMP     136046$
 
; П/п обработки Esc M
 
; П/п обработки Esc M
136512$:CALL 145564$
+
136512$:CALL   145564$
MOVB R0,-7(R5)
+
        MOVB   R0,-7(R5)
MOVB -7(R5),R0
+
        MOVB   -7(R5),R0
BIC #177400,R0
+
        BIC     #177400,R0
MOV #136074$,R1
+
        MOV     #136074$,R1
JMP 144650$
+
        JMP     144650$
 
; П/п обработки Esc ML
 
; П/п обработки Esc ML
136542$:CALL 143756$
+
136542$:CALL   143756$
MOV 23424$,23442$
+
        MOV     23424,23442
MOVB #1,R0
+
        MOVB   #1,R0
BR 136506$
+
        BR     136506$
 
; П/п обработки Esc MM
 
; П/п обработки Esc MM
136562$:CALL 143756$
+
136562$:CALL   143756$
MOV 23424$,23446$
+
        MOV     23424,23446
MOVB #1,R0
+
        MOVB   #1,R0
BR 136506$
+
        BR     136506$
 
; П/п обработки Esc MP
 
; П/п обработки Esc MP
136602$:CALL 143756$
+
136602$:CALL   143756$
MOV 23424$,23450$
+
        MOV     23424,23450
MOVB #1,R0
+
        MOVB   #1,R0
BR 136506$
+
        BR     136506$
 
; П/п обработки Esc MV
 
; П/п обработки Esc MV
136622$:CALL 143756$
+
136622$:CALL   143756$
MOV 23424$,23444$
+
        MOV     23424,23444
MOVB #1,R0
+
        MOVB   #1,R0
BR 136506$
+
        BR     136506$
136642$:MOVB #1,R0
+
136642$:MOVB   #1,R0
BR 136506$
+
        BR     136506$
 
; П/п обработки Esc R
 
; П/п обработки Esc R
136650$:CALL 145564$
+
136650$:CALL   145564$
MOVB R0,-7(R5)
+
        MOVB   R0,-7(R5)
MOVB -7(R5),R0
+
        MOVB   -7(R5),R0
BIC #177400,R0
+
        BIC     #177400,R0
MOV #136120$,R1
+
        MOV     #136120$,R1
JMP 144650$
+
        JMP     144650$
 
; П/п обработки Esc RD
 
; П/п обработки Esc RD
136700$:MOVB #1,R0
+
136700$:MOVB   #1,R0
BR 136506$
+
        BR     136506$
 
; П/п обработки Esc RR
 
; П/п обработки Esc RR
136706$:CALL 144104$
+
136706$:CALL   144104$
CMP 23420$,23412$
+
        CMP     23420,23412
BGE 136732$
+
        BGE     136732$
CMP 23422$,22664$
+
        CMP     23422,22664
BLT 136740$
+
        BLT     136740$
MOVB #1,R0
+
136732$:MOVB   #1,R0
BR 136506$
+
        BR     136506$
136740$:MOV 23420$,-12(R5)
+
136740$:MOV     23420,-12(R5)
MOV 23422$,-14(R5)
+
        MOV     23422,-14(R5)
CALL 144104$
+
        CALL   144104$
CMP 23420$,23412$
+
        CMP     23420,23412
BGE 137000$
+
        BGE     137000$
CMP 23422$,22664$
+
        CMP     23422,22664
BLT 137006$
+
        BLT     137006$
137000$:MOVB #1,R0
+
137000$:MOVB   #1,R0
BR 136506$
+
        BR     136506$
137006$:CALL 143756$
+
137006$:CALL   143756$
MOV 23424$,@SP
+
        MOV     23424,@SP
MOV 23422$,-(SP)
+
        MOV     23422,-(SP)
MOV 23420$,-(SP)
+
        MOV     23420,-(SP)
MOV -14(R5),-(SP)
+
        MOV     -14(R5),-(SP)
MOV -12(R5),-(SP)
+
        MOV     -12(R5),-(SP)
CALL 144666$
+
        CALL   144666$
ADD #10,SP
+
        ADD     #10,SP
MOVB #1,R0
+
        MOVB   #1,R0
BR 137060$
+
        BR     137060$
 
; П/п обработки Esc RU
 
; П/п обработки Esc RU
137054$:MOVB #1,R0
+
137054$:MOVB   #1,R0
137060$:JMP 136056$
+
137060$:JMP     136046$
137064$:MOVB #1,R0
+
137064$:MOVB   #1,R0
BR 137060$
+
        BR     137060$
 
; П/п обработки Esc T
 
; П/п обработки Esc T
137072$:CALL 145564$
+
137072$:CALL   145564$
MOVB R0,-7(R5)
+
        MOVB   R0,-7(R5)
MOVB -7(R5),R0
+
        MOVB   -7(R5),R0
BIC #177400,R0
+
        BIC     #177400,R0
MOV #136140$,R1
+
        MOV     #136140$,R1
JMP 144650$
+
        JMP     144650$
 
; П/п обработки Esc TD
 
; П/п обработки Esc TD
137122$:CALL 143756$
+
137122$:CALL   143756$
MOV 23424$,23452$
+
        MOV     23424,23452
CALL 143756$
+
        CALL   143756$
MOV 23424$,23454$
+
        MOV     23424,23454
MOV 23452$,@SP
+
        MOV     23452,@SP
CALL 117004$
+
        CALL   117004$
MOVB #1,R0
+
        MOVB   #1,R0
BR 137060$
+
        BR     137060$
137164$:MOVB #1,R0
+
137164$:MOVB   #1,R0
BR 137060$
+
        BR     137060$
 
; П/п обработки Esc U
 
; П/п обработки Esc U
137172$:CALL 145564$
+
137172$:CALL   145564$
MOVB R0,-7(R5)
+
        MOVB   R0,-7(R5)
MOVB -7(R5),R0
+
        MOVB   -7(R5),R0
BIC #177400,R0
+
        BIC     #177400,R0
MOV #136150$,R1
+
        MOV     #136150$,R1
JMP 144650$
+
        JMP     144650$
 
; П/п обработки Esc UA
 
; П/п обработки Esc UA
137222$:MOV 23430$,177010$
+
137222$:MOV     23430,177010
TST 177024$
+
        TST     177024
BNE 137236$
+
        BNE     137236$
137236$:BIT #4,23440$
+
137236$:BIT     #4,23440
BEQ 137254$
+
        BEQ     137254$
MOV 177022$,R0
+
        MOV     177022,R0
BR 137260$
+
        BR     137260$
137254$:MOV 177020$,R0
+
137254$:MOV     177020,R0
137260$:MOV R0,R1
+
137260$:MOV     R0,R1
CLR R0
+
        CLR     R0
MOV 23440$,R4
+
        MOV     23440,R4
BIC #177774,R4
+
        BIC     #177774,R4
ASL R4
+
        ASL     R4
ASL R4
+
        ASL     R4
NEG R4
+
        NEG     R4
ASHC R4,R0
+
        ASHC   R4,R0
MOV R1,@SP
+
        MOV     R1,@SP
BIC #177760,@SP
+
        BIC     #177760,@SP
CALL 144304$
+
        CALL   144304$
MOV #15,@SP
+
        MOV     #15,@SP
CALL 145612$
+
        CALL   145612$
MOVB #1,R0
+
        MOVB   #1,R0
BR 137060$
+
        BR     137060$
 
; П/п обработки Esc UB
 
; П/п обработки Esc UB
137334$:MOV 23414$,23420$
+
137334$:MOV     23414,23420
MOV 23416$,23422$
+
        MOV     23416,23422
MOV 23422$,23414$
+
        MOV     23422,23414
MOV 23420$,23416$
+
        MOV     23420,23416
CALL 151714$
+
        CALL   151714$
MOV 23420$,23414$
+
        MOV     23420,23414
MOV 23422$,23416$
+
        MOV     23422,23416
MOVB #1,R0
+
        MOVB   #1,R0
BR 137060$
+
        BR     137060$
 
; П/п обработки Esc UC
 
; П/п обработки Esc UC
137412$:CALL 151650$
+
137412$:CALL   151650$
MOVB #1,R0
+
        MOVB   #1,R0
BR 137060$
+
        BR     137060$
 
; П/п обработки Esc UD
 
; П/п обработки Esc UD
137424$:MOVB #1,R0
+
137424$:MOVB   #1,R0
BR 137436$
+
        BR     137436$
 
; П/п обработки Esc UE
 
; П/п обработки Esc UE
137432$:MOVB #1,R0
+
137432$:MOVB   #1,R0
137436$:JMP 136050$
+
137436$:JMP     136046$
 
; П/п обработки Esc UF
 
; П/п обработки Esc UF
137442$:CALL 144104$
+
137442$:CALL   144104$
CMP 23420$,23412$
+
        CMP     23420,23412
BGE 137466$
+
        BGE     137466$
CMP 23422$,22664$
+
        CMP     23422,22664
BLT 137474$
+
        BLT     137474$
137466$:MOVB #1,R0
+
137466$:MOVB   #1,R0
BR 137436$
+
        BR     137436$
137474$:MOV #1,R0
+
137474$:MOV     #1,R0
MOV 23420$,R1
+
        MOV     23420,R1
BIC #177770,R1
+
        BIC     #177770,R1
MOV R1,23440$
+
        MOV     R1,23440
ASH 23440$,R0
+
        ASH     23440,R0
MOV R0,23436$
+
        MOV     R0,23436
MOV 23432$,R0
+
        MOV     23432,R0
MOV 23422$,R1
+
        MOV     23422,R1
ASL R1
+
        ASL     R1
ASL R1
+
        ASL     R1
SUB R1,R0
+
        SUB     R1,R0
MOV R0,23434$
+
        MOV     R0,23434
MOV @23434$,R0
+
        MOV     @23434,R0
MOV 23420$,R1
+
        MOV     23420,R1
ASH #-3,R1
+
        ASH     #-3,R1
MOV R1,23426$
+
        MOV     R1,23426
ADD 23426$,R0
+
        ADD     23426,R0
MOV R0,23430$
+
        MOV     R0,23430
MOV 23420$,23414$
+
        MOV     23420,23414
MOV 23422$,23416$
+
        MOV     23422,23416
MOVB #1,R0
+
        MOVB   #1,R0
BR 137436$
+
        BR     137436$
 
; П/п обработки Esc UG
 
; П/п обработки Esc UG
137620$:CALL 144104$
+
137620$:CALL   144104$
CMP 23420$,23412$
+
        CMP     23420,23412
BGE 137644$
+
        BGE     137644$
CMP 23422$,22664$
+
        CMP     23422,22664
BLT 137652$
+
        BLT     137652$
137644$:MOVB #1,R0
+
137644$:MOVB   #1,R0
BR 137436$
+
        BR     137436$
137652$:MOV 23442$,177016$
+
137652$:MOV     23442,177016
MOV 23430$,177010$
+
        MOV     23430,177010
TST 177024$
+
        TST     177024
BNE 137674$
+
        BNE     137674$
137674$:MOV 23430$,177010$
+
137674$:MOV     23430,177010
MOV 23436$,177024$
+
        MOV     23436,177024
CALL 141330$
+
        CALL   141330$
MOVB #1,R0
+
        MOVB   #1,R0
BR 137436$
+
        BR     137436$
 
; П/п обработки Esc UH
 
; П/п обработки Esc UH
137722$:CALL 144104$
+
137722$:CALL   144104$
CMP 23420$,23412$
+
        CMP     23420,23412
BGE 137746$
+
        BGE     137746$
CMP 23422$,22664$
+
        CMP     23422,22664
BLT 137754$
+
        BLT     137754$
137746$:MOVB #1,R0
+
137746$:MOVB   #1,R0
BR 140134$
+
        BR     140134$
137754$:MOV #1,R0
+
137754$:MOV     #1,R0
MOV 23420$,R1
+
        MOV     23420,R1
BIC #177770,R1
+
        BIC     #177770,R1
MOV R1,23440$
+
        MOV     R1,23440
ASH 23440$,R0
+
        ASH     23440,R0
MOV R0,23436$
+
        MOV     R0,23436
MOV 23432$,R0
+
        MOV     23432,R0
MOV 23422$,R1
+
        MOV     23422,R1
ASL R1
+
        ASL     R1
ASL R1
+
        ASL     R1
SUB R1,R0
+
        SUB     R1,R0
MOV R0,23434$
+
        MOV     R0,23434
MOV @23434$,R0
+
        MOV     @23434,R0
MOV 23420$,R1
+
        MOV     23420,R1
ASH #-3,R1
+
        ASH     #-3,R1
MOV R1,23426$
+
        MOV     R1,23426
ADD 23426$,R0
+
        ADD     23426,R0
MOV R0,23430$
+
        MOV     R0,23430
MOV 23420$,23414$
+
        MOV     23420,23414
MOV 23422$,23416$
+
        MOV     23422,23416
MOV 23442$,177016$
+
        MOV     23442,177016
MOV 23430$,177010$
+
        MOV     23430,177010
TST 177024$
+
        TST     177024
BNE 140114$
+
        BNE     140114$
140114$:MOV 23430$,177010$
+
140114$:MOV     23430,177010
MOV 23436$,177024$
+
        MOV     23436,177024
MOVB #1,R0
+
        MOVB   #1,R0
140134$:JMP 136056$
+
140134$:JMP     136046$
 
; П/п обработки Esc UI
 
; П/п обработки Esc UI
140140$:MOV 23416$,@SP
+
140140$:MOV     23416,@SP
MOV 23414$,-(SP)
+
        MOV     23414,-(SP)
CALL 144454$
+
        CALL   144454$
TST (SP)+
+
        TST     (SP)+
MOV #15,@SP
+
        MOV     #15,@SP
CALL 145612$
+
        CALL   145612$
MOVB #1,R0
+
        MOVB   #1,R0
BR 140134$
+
        BR     140134$
140174$:MOVB #1,R0
+
140174$:MOVB   #1,R0
BR 140134$
+
        BR     140134$
 
; П/п обработки Esc %
 
; П/п обработки Esc %
140202$:CALL 145564$
+
140202$:CALL   145564$
MOVB R0,-7(R5)
+
        MOVB   R0,-7(R5)
MOVB -7(R5),R0
+
        MOVB   -7(R5),R0
BIC #177400,R0
+
        BIC     #177400,R0
MOV #136220$,R1
+
        MOV     #136220$,R1
JMP 144650$
+
        JMP     144650$
 
; П/п обработки Esc %!
 
; П/п обработки Esc %!
140232$:CALL 145564$
+
140232$:CALL   145564$
MOVB R0,-7(R5)
+
        MOVB   R0,-7(R5)
CMPB -7(R5),#'0
+
        CMPB   -7(R5),#'0
BEQ 140274$
+
        BEQ     140274$
MOVB -7(R5),R0
+
        MOVB   -7(R5),R0
BIC #177400,R0
+
        BIC     #177400,R0
MOV R0,@SP
+
        MOV     R0,@SP
CALL 113574$
+
        CALL   113574$
CLR R0
+
        CLR     R0
BR 140134$
+
        BR     140134$
140274$:MOVB #1,R0
+
140274$:MOVB   #1,R0
BR 140134$
+
        BR     140134$
140302$:MOVB #1,R0
+
140302$:MOVB   #1,R0
BR 140134$
+
        BR     140134$
140310$:MOVB #1,R0
+
140310$:MOVB   #1,R0
BR 140134$
+
        BR     140134$
140316$:MOVB #1,R0
+
140316$:MOVB   #1,R0
BR 140134$
+
        BR     140134$
140324$:BR 140134$
+
140324$:BR     140134$
 
; П/п печати экрана
 
; П/п печати экрана
140326$:JSR R5,136030$
+
140326$:JSR     R5,136030$
ADD #-22,SP
+
        ADD     #-22,SP
BIT #2,177101$
+
        BIT     #2,177101
BEQ 140602$
+
        BEQ     140602$
BIC #100,177700$
+
        BIC     #100,177700
MOV #15,@SP
+
        MOV     #15,@SP
CALL 135722$
+
        CALL   135722$
MOV #12,@SP
+
        MOV     #12,@SP
CALL 135722$
+
        CALL   135722$
CLR -10(R5)
+
        CLR     -10(R5)
140400$:CMP -10(R5),#79.
+
140400$:CMP     -10(R5),#79.
BGT 140552$
+
        BGT     140552$
MOV #-1,-20(R5)
+
        MOV     #1,-20(R5)
140416$:CMP -20(R5),#2
+
140416$:CMP     -20(R5),#2
BGT 140606$
+
        BGT     140606$
MOV #33,@SP
+
        MOV     #33,@SP
CALL 135722$
+
        CALL   135722$
MOV #52,@SP
+
        MOV     #52,@SP
CALL 135722$
+
        CALL   135722$
MOV #1,@SP
+
        MOV     #1,@SP
CALL 135722$
+
        CALL   135722$
MOV #30,@SP
+
        MOV     #30,@SP
CALL 135722$
+
        CALL   135722$
MOV #3,@SP
+
        MOV     #3,@SP
CALL 135722$
+
        CALL   135722$
CLR -12(R5)
+
        CLR     -12(R5)
CMP -12(R5),#263.
+
140502$:CMP     -12(R5),#263.
BGT 140622$
+
        BGT     140622$
MOV 23432$,R0
+
        MOV     23432,R0
MOV -12(R5),R1
+
        MOV     -12(R5),R1
ASL R1
+
        ASL     R1
ASL R1
+
        ASL     R1
SUB R1,R0
+
        SUB     R1,R0
MOV @R0,R0
+
        MOV     @R0,R0
ADD -10(R5),R0
+
        ADD     -10(R5),R0
MOV R0,177010$
+
        MOV     R0,177010
TST 177024$
+
        TST     177024
BEQ 141004$
+
        BEQ     141004$
BR 141004$
+
        BR     141004$
140552$:MOV #33,@SP
+
140552$:MOV     #33,@SP
CALL 135722$
+
        CALL   135722$
MOV #100,@SP
+
        MOV     #100,@SP
CALL 135722$
+
        CALL   135722$
MOV #14,@SP
+
        MOV     #14,@SP
CALL 135722$
+
        CALL   135722$
140602$:JMP 136046$
+
140602$:JMP     136046$
140606$:INC -10(R5)
+
140606$:INC     -10(R5)
BR 140400$
+
        BR     140400$
140614$:INC -20(R5)
+
140614$:INC     -20(R5)
BR 140416$
+
        BR     140416$
140622$:MOV #33,@SP
+
140622$:MOV     #33,@SP
CALL 135722$
+
        CALL   135722$
MOV #63,@SP
+
        MOV     #63,@SP
CALL 135722$
+
        CALL   135722$
MOV -20(R5),R1
+
        MOV     -20(R5),R1
MUL #22.,R1
+
        MUL     #22.,R1
MOV R1,@SP
+
        MOV     R1,@SP
ADD #-21.,@SP
+
        ADD     #-21.,@SP
CALL 135722$
+
        CALL   135722$
MOV #12,@SP
+
        MOV     #12,@SP
CALL 135722$
+
        CALL   135722$
MOV #15,@SP
+
        MOV     #15,@SP
CALL 135722$
+
        CALL   135722$
BIT #200,177700$
+
        BIT     #200,177700
BEQ 140614$
+
        BEQ     140614$
CMP 177702$,#4
+
        CMP     177702,#4
BNE 140614$
+
        BNE     140614$
MOV #33,@SP
+
        MOV     #33,@SP
CALL 135722$
+
        CALL   135722$
MOV #100,@SP
+
        MOV     #100,@SP
CALL 135722$
+
        CALL   135722$
MOV #15,@SP
+
        MOV     #15,@SP
CALL 135722$
+
        CALL   135722$
MOV #12,@SP
+
        MOV     #12,@SP
CALL 135722$
+
        CALL   135722$
MTPS #340
+
        MTPS   #340
BIS #100,177700$
+
        BIS     #100,177700
MTPS #0
+
        MTPS   #0
BR 140602$
+
        BR     140602$
141004$:MOV 177020$,-30(R5)
+
141004$:MOV     177020,-30(R5)
MOV #1,-14(R5)
+
        MOV     #1,-14(R5)
141020$:CMP -14(R5),#8.
+
141020$:CMP     -14(R5),#8.
BGT 141246$
+
        BGT     141246$
MOV -30(R5),R0
+
        MOV     -30(R5),R0
BIC #177760,R0
+
        BIC     #177760,R0
MOV R0,-16(R5)
+
        MOV     R0,-16(R5)
MOV -22(R5),R0
+
        MOV     -22(R5),R0
ASL R0
+
        ASL     R0
MOV #153540,R1
+
        MOV     #153540,R1
MOV #1,R4
+
        MOV     #1,R4
MOV -16(R5),R2
+
        MOV     -16(R5),R2
ASL R2
+
        ASL     R2
SUB R2,R4
+
        SUB     R2,R4
SUB -20(R5),R4
+
        SUB     -20(R5),R4
ASH R4,R1
+
        ASH     R4,R1
BIC #177776,R1
+
        BIC     #177776,R1
BIS R1,R0
+
        BIS     R1,R0
MOV R0,-22(R5)
+
        MOV     R0,-22(R5)
MOV -24(R5),R0
+
        MOV     -24(R5),R0
ASL R0
+
        ASL     R0
MOV #177624,R1
+
        MOV     #177624,R1
MOV #1,R4
+
        MOV     #1,R4
MOV -16(R5),R2
+
        MOV     -16(R5),R2
ASL R2
+
        ASL     R2
SUB R2,R4
+
        SUB     R2,R4
SUB -20(R5),R4
+
        SUB     -20(R5),R4
ASH R4,R1
+
        ASH     R4,R1
BIC #177776,R1
+
        BIC     #177776,R1
BIS R1,R0
+
        BIS     R1,R0
MOV R0,-24(R5)
+
        MOV     R0,-24(R5)
MOV -26(R5),R0
+
        MOV     -26(R5),R0
ASL R0
+
        ASL     R0
MOV #172100,R1
+
        MOV     #172100,R1
MOV #1,R4
+
        MOV     #1,R4
MOV -16(R5),R2
+
        MOV     -16(R5),R2
ASL R2
+
        ASL     R2
SUB R2,R4
+
        SUB     R2,R4
SUB -20(R5),R4
+
        SUB     -20(R5),R4
ASH R4,R1
+
        ASH     R4,R1
BIC #177776,R1
+
        BIC     #177776,R1
BIS R1,R0
+
        BIS     R1,R0
MOV R0,-26(R5)
+
        MOV     R0,-26(R5)
CMP -14(R5),#4
+
        CMP     -14(R5),#4
BNE 141306$
+
        BNE     141306$
MOV 177022$,-30(R5)
+
        MOV     177022,-30(R5)
BR 141322$
+
        BR     141322$
141246$:MOV -22(R5),@SP
+
141246$:MOV     -22(R5),@SP
CALL 135722$
+
        CALL   135722$
MOV -24(R5),@SP
+
        MOV     -24(R5),@SP
CALL 135722$
+
        CALL   135722$
MOV -26(R5),@SP
+
        MOV     -26(R5),@SP
CALL 135722$
+
        CALL   135722$
INC -12(R5)
+
        INC     -12(R5)
JMP 140502$
+
        JMP     140502$
141306$:MOV -30(R5),R0
+
141306$:MOV     -30(R5),R0
ASH #-4,R0
+
        ASH     #-4,R0
MOV R0,-30(R5)
+
        MOV     R0,-30(R5)
141322$:INC -14(R5)
+
141322$:INC     -14(R5)
BR 141020$
+
        BR     141020$
 
; П/п рисования линии
 
; П/п рисования линии
141330$:MOV R5,-(SP)
+
141330$:MOV     R5,-(SP)
MOV SP,R5
+
        MOV     SP,R5
ADD #-20,SP
+
        ADD     #-20,SP
MOV 23420$,R0
+
        MOV     23420,R0
SUB 23414$,R0
+
        SUB     23414,R0
MOV R0,-12(R5)
+
        MOV     R0,-12(R5)
MOV 23422$,R0
+
        MOV     23422,R0
SUB 23416$,R0
+
        SUB     23416,R0
MOV R0,-14(R5)
+
        MOV     R0,-14(R5)
TST -14(R5)
+
        TST     -14(R5)
BNE 141404$
+
        BNE     141404$
TST -12(R5)
+
        TST     -12(R5)
BEQ 141560$
+
        BEQ     141560$
141404$:MOV 23420$,23414$
+
141404$:MOV     23420,23414
MOV 23422$,23416$
+
        MOV     23422,23416
CLR -16(R5)
+
        CLR     -16(R5)
TST -14(R5)
+
        TST     -14(R5)
BLT 141564$
+
        BLT     141564$
TST -12(R5)
+
        TST     -12(R5)
BLT 141712$
+
        BLT     141712$
CMP -12(R5),-14(R5)
+
        CMP     -12(R5),-14(R5)
BGT 141454$
+
        BGT     141454$
JMP 142106$
+
        JMP     142106$
141454$:MOV -12(R5),-20(R5)
+
141454$:MOV     -12(R5),-20(R5)
MOV -20(R5),-10(R5)
+
        MOV     -20(R5),-10(R5)
MOV -10(R5),R0
+
141470$:MOV     -10(R5),R0
DEC -10(R5)
+
        DEC     -10(R5)
TST R0
+
        TST     R0
BEQ 141560$
+
        BEQ     141560$
SUB -14(R5),-16(R5)
+
        SUB     -14(R5),-16(R5)
MOV 23436$,R0
+
        MOV     23436,R0
ASL R0
+
        ASL     R0
BIC #177400,R0
+
        BIC     #177400,R0
MOV R0,23436$
+
        MOV     R0,23436
BEQ 141536$
+
        BEQ     141536$
JMP 142260$
+
        JMP     142260$
141536$:MOV #1,23436$
+
141536$:MOV     #1,23436
INC 23430$
+
        INC     23430
INC 23426$
+
        INC     23426
JMP 142260$
+
        JMP     142260$
141560$:JMP 136056$
+
141560$:JMP     136056$
141564$:TST -12(R5)
+
141564$:TST     -12(R5)
BLT 141576$
+
        BLT     141576$
JMP 142722$
+
        JMP     142722$
141576$:CMP -12(R5),-14(R5)
+
141576$:CMP     -12(R5),-14(R5)
BLT 141612$
+
        BLT     141612$
JMP 143136$
+
        JMP     143136$
141612$:MOV -12(R5),R0
+
141612$:MOV     -12(R5),R0
NEG R0
+
        NEG     R0
MOV R0,-20(R5)
+
        MOV     R0,-20(R5)
MOV -20(R5),-10(R5)
+
        MOV     -20(R5),-10(R5)
MOV -10(R5),R0
+
141632$:MOV     -10(R5),R0
DEC -10(R5)
+
        DEC     -10(R5)
TST R0
+
        TST     R0
BEQ 141560$
+
        BEQ     141560$
ADD -14(R5),-16(R5)
+
        ADD     -14(R5),-16(R5)
CLC
+
        CLC
ROR 23436$
+
        ROR     23436
BEQ 141670$
+
        BEQ     141670$
JMP 143310$
+
        JMP     143310$
141670$:MOV #200,23436$
+
141670$:MOV     #200,23436
DEC 23430$
+
        DEC     23430
DEC 23426$
+
        DEC     23426
JMP 143310$
+
        JMP     143310$
141712$:MOV -12(R5),R0
+
141712$:MOV     -12(R5),R0
NEG R0
+
        NEG     R0
CMP R0,-14(R5)
+
        CMP     R0,-14(R5)
BLT 141732$
+
        BLT     141732$
141726$:JMP 142442$
+
141726$:JMP     142442$
141732$:MOV -14(R5),-20(R5)
+
141732$:MOV     -14(R5),-20(R5)
MOV -20(R5),-10(R5)
+
        MOV     -20(R5),-10(R5)
MOV -10(R5),R0
+
141746$:MOV     -10(R5),R0
TST R0
+
        DEC    -10(R5)
BEQ 141560$
+
        TST     R0
ADD -12(R5),-16(R5)
+
        BEQ     141560$
SUB #4,23434$
+
        ADD     -12(R5),-16(R5)
MOV @23434$,R0
+
        SUB     #4,23434
ADD 23426$,R0
+
        MOV     @23434,R0
MOV R0,23430$
+
        ADD     23426,R0
TST -16(R5)
+
        MOV     R0,23430
BGE 142030$
+
        TST     -16(R5)
MOV -16(R5),R0
+
        BGE     142030$
NEG R0
+
        MOV     -16(R5),R0
BR 142034$
+
        NEG     R0
142030$:MOV -16(R5),R0
+
        BR     142034$
142034$:ASL R0
+
142030$:MOV     -16(R5),R0
CMP R0,-20(R5)
+
142034$:ASL     R0
BGE 142050$
+
        CMP     R0,-20(R5)
JMP 142540$
+
        BGE     142050$
 +
        JMP     142540$
 
142050$:CLC
 
142050$:CLC
ROR 23436$
+
        ROR     23436
BEQ 142064$
+
        BEQ     142064$
JMP 142556$
+
        JMP     142556$
142064$:MOV #200,23436$
+
142064$:MOV     #200,23436
DEC 23430$
+
        DEC     23430
DEC 23426$
+
        DEC     23426
JMP 142556$
+
        JMP     142556$
142106$:MOV -14(R5),-20(R5)
+
142106$:MOV     -14(R5),-20(R5)
MOV -20(R5),-10(R5)
+
        MOV     -20(R5),-10(R5)
142122$:MOV -10(R5),R0
+
142122$:MOV     -10(R5),R0
DEC -10(R5)
+
        DEC     -10(R5)
TST R0
+
        TST     R0
BEQ 141560$
+
        BEQ     141560$
ADD -12(R5),-16(R5)
+
        ADD     -12(R5),-16(R5)
SUB #4,23434$
+
        SUB     #4,23434
MOV @23434$,R0
+
        MOV     @23434,R0
ADD 23426$,R0
+
        ADD     23426,R0
MOV R0,23430$
+
        MOV     R0,23430
TST -16(R5)
+
        TST     -16(R5)
BGE 142204$
+
        BGE     142204$
MOV -16(R5),R0
+
        MOV     -16(R5),R0
NEG R0
+
        NEG     R0
BR 142210$
+
        BR     142210$
142204$:MOV -16(R5),R0
+
142204$:MOV     -16(R5),R0
142210$:ASL R0
+
142210$:ASL     R0
CMP R0,-20(R5)
+
        CMP     R0,-20(R5)
BLT 142376$
+
        BLT     142376$
MOV 23436$,R0
+
        MOV     23436,R0
ASL R0
+
        ASL     R0
BIC #177400,R0
+
        BIC     #177400,R0
MOV R0,23436$
+
        MOV     R0,23436
BNE 142414$
+
        BNE     142414$
MOV #1,23436$
+
        MOV     #1,23436
INC 23430$
+
        INC     23430
INC 23426$
+
        INC     23426
BR 142414$
+
        BR     142414$
142260$:TST -16(R5)
+
142260$:TST     -16(R5)
BGE 142276$
+
        BGE     142276$
MOV -16(R5),R0
+
        MOV     -16(R5),R0
NEG R0
+
        NEG     R0
BR 142302$
+
        BR     142302$
142276$:MOV -16(R5),R0
+
142276$:MOV     -16(R5),R0
142302$:ASL R0
+
142302$:ASL     R0
CMP R0,-20(R5)
+
        CMP     R0,-20(R5)
BLT 142342$
+
        BLT     142342$
SUB #4,23434$
+
        SUB     #4,23434
MOV @23434$,R0
+
        MOV     @23434,R0
ADD 23426$,R0
+
        ADD     23426,R0
MOV R0,23430$
+
        MOV     R0,23430
ADD -12(R5),-16(R5)
+
        ADD     -12(R5),-16(R5)
MOV 23430$,177010$
+
142342$:MOV     23430,177010
TST 177024$
+
        TST     177024
BNE 142356$
+
        BNE     142356$
142356$:MOV 23430$,177010$
+
142356$:MOV     23430,177010
MOV 23436$,177024$
+
        MOV     23436,177024
JMP 141470$
+
        JMP     141470$
142376$:MOV 23430$,177010$
+
142376$:MOV     23430,177010
TST 177024$
+
        TST     177024
BEQ 142424$
+
        BEQ     142424$
BR 142424$
+
        BR     142424$
142114$:MOV -14(R5),-16(R5)
+
142414$:SUB    -14(R5),-16(R5)
BR 142376$
+
        BR     142376$
142424$:MOV 23430$,177010$
+
142424$:MOV     23430,177010
MOV 23436$,177024$
+
        MOV     23436,177024
BR 142122$
+
        BR     142122$
142442$:MOV -12(R5),R0
+
142442$:MOV     -12(R5),R0
NEG R0
+
        NEG     R0
MOV R0,-20(R5)
+
        MOV     R0,-20(R5)
MOV -20(R5),-10(R5)
+
        MOV     -20(R5),-10(R5)
142462$:MOV -10(R5),R0
+
142462$:MOV     -10(R5),R0
DEC -10(R5)
+
        DEC     -10(R5)
TST R0
+
        TST     R0
BNE 142502$
+
        BNE     142502$
JMP 141560$
+
        JMP     141560$
142502$:ADD -14(R5),-16(R5)
+
142502$:ADD     -14(R5),-16(R5)
CLC
+
        CLC
ROR 23436$
+
        ROR     23436
BNE 142606$
+
        BNE     142606$
MOV #200,23436$
+
        MOV     #200,23436
DEC 23430$
+
        DEC     23430
DEC 23426$
+
        DEC     23426
BR 142606$
+
        BR     142606$
142540$:MOV 23430$,177010$
+
142540$:MOV     23430,177010
TST 177024$
+
        TST     177024
BEQ 142566$
+
        BEQ     142566$
BR 142566$
+
        BR     142566$
ADD -14(R5),-16(R5)
+
142556$:ADD     -14(R5),-16(R5)
BR 142540$
+
        BR     142540$
142556$:ADD -14(R5),-16(R5)
+
142566$:MOV    23430,177010
BR 142540$
+
        MOV     23436,177024
142566$:MOV 23430$,177010$
+
        JMP     141746$
MOV 23436$,177024$
+
142606$:TST     -16(R5)
JMP 141746$
+
        BGE     142624$
142606$:TST -16(R5)
+
        MOV     -16(R5),R0
BGE 142624$
+
        NEG     R0
MOV -16(R5),R0
+
        BR     142630$
NEG R0
+
142624$:MOV     -16(R5),R0
BR 142630$
+
142630$:ASL     R0
142624$:MOV -16(R5),R0
+
        CMP     R0,-20(R5)
142630$:ASL R0
+
        BLT     142670$
CMP R0,-20(R5)
+
        SUB     #4,23434
BLT 142670$
+
        MOV     @23434,R0
SUB #4,23434$
+
        ADD     23426,R0
MOV @23434$,R0
+
        MOV     R0,23430
ADD 23426$,R0
+
        ADD     -12(R5),-16(R5)
MOV R0,23430$
+
142670$:MOV     23430,177010
ADD -12(R5),-16(R5)
+
        TST     177024
MOV 23430$,177010$
+
        BNE     142704$
TST 177024$
+
142704$:MOV     23430,177010
BNE 142704$
+
        MOV     23436,177024
142704$:MOV 23430$,177010$
+
        BR     142462$
MOV 23436$,177024$
+
142722$:MOV     -14(R5),R0
BR 142462$
+
        NEG     R0
142722$:MOV -14(R5),R0
+
        CMP     -12(R5),R0
NEG R0
+
        BLE     142742$
CMP -12(R5),R0
+
        JMP     143472$
BLE 142742$
+
142742$:MOV     -14(R5),R0
JMP 143472$
+
        NEG     R0
142742$:MOV -14(R5),R0
+
        MOV     R0,-20(R5)
NEG R0
+
        MOV     -20(R5),-10(R5)
MOV R0,-20(R5)
+
142762$:MOV     -10(R5),R0
MOV -20(R5),-10(R5)
+
        DEC     -10(R5)
MOV -10(R5),R0
+
        TST     R0
DEC -10(R5)
+
        BNE     143002$
TST R0
+
        JMP     141560$
BNE 143002$
+
143002$:SUB     -12(R5),-16(R5)
JMP 141560$
+
        ADD     #4,23434
143002$:SUB -12(R5),-16(R5)
+
        MOV     @23434,R0
ADD #4,23434$
+
        ADD     23426,R0
MOV @23434$,R0
+
        MOV     R0,23430
ADD 23426$,R0
+
        TST     -16(R5)
MOV R0,23430$
+
        BGE     143050$
TST -16(R5)
+
        MOV     -16(R5),R0
BGE 134050$
+
        NEG     R0
MOV -16(R5),R0
+
        BR     143054$
NEG R0
+
143050$:MOV     -16(R5),R0
BR 143054$
+
143054$:ASL     R0
143050$:MOV -16(R5),R0
+
        CMP     R0,-20(R5)
ASL R0
+
        BGE     143070$
CMP R0,-20(R5)
+
        JMP     143574$
BGE 143070$
+
143070$:MOV     23436,R0
JMP 143574$
+
        ASL     R0
143070$:MOV 23436$,R0
+
        BIC     #177400,R0
ASL R0
+
        MOV     R0,23436
BIC #177400,R0
+
        BEQ     143114$
MOV R0,23436$
+
        JMP     143612$
BEQ 143114$
+
143114$:MOV     #1,23436
JMP 143522$
+
        INC     23430
143114$:MOV #1,23436$
+
        INC     23426
INC 23430$
+
        JMP     143612$
INC 23426$
+
143136$:MOV     -14(R5),R0
JMP 143612$
+
        NEG     R0
143136$:MOV -14(R5),R0
+
        MOV     R0,-20(R5)
NEG R0
+
        MOV     -20(R5),-10(R5)
MOV R0,-20(R5)
+
143156$:MOV     -10(R5),R0
MOV -20(R5),-10(R5)
+
        DEC     -10(R5)
MOV -10(R5),R0
+
        TST     R0
DEC -10(R5)
+
        BNE     143176$
TST R0
+
        JMP     141560$
BNE 143176$
+
143176$:SUB     -12(R5),-16(R5)
JMP 141560$
+
        ADD     #4,23434
143176$:SUB -12(R5),-16(R5)
+
        MOV     @23434,R0
ADD #4,23434$
+
        ADD     23426,R0
MOV @23434$,R0
+
        MOV     R0,23430
ADD 23426$,R0
+
        TST     -16(R5)
MOV R0,23430$
+
        BGE     143244$
TST -16(R5)
+
        MOV     -16(R5),R0
BGE 143244$
+
        NEG     R0
MOV -16(R5),R0
+
        BR     143250$
NEG R0
+
143244$:MOV     -16(R5),R0
BR 143250$
+
143250$:ASL     R0
143244$:MOV -16(R5),R0
+
        CMP     R0,-20(R5)
143250$:ASL R0
+
        BLT     143426$
CMP R0,-20(R5)
+
        CLC
BLT 143426$
+
        ROR     23436
CLC
+
        BNE     143444$
ROR 23436$
+
        MOV     #200,23436
BNE 143444$
+
        DEC     23430
MOV #200,23436$
+
        DEC     23426
DEC 23430$
+
        BR     143444$
DEC 23426$
+
143310$:TST     -16(R5)
BR 143444$
+
        BGE     143326$
143310$:TST -16(R5)
+
        MOV     -16(R5),R0
BGE 143326$
+
        NEG     R0
MOV -16(R5),R0
+
        BR     143332$
NEG R0
+
143326$:MOV     -16(R5),R0
BR 143332$
+
143332$:ASL     R0
143326$:MOV -16(R5),R0
+
        CMP     R0,-20(R5)
143332$:ASL R0
+
        BLT     143372$
CMP R0,-20(R5)
+
        ADD     #4,23434
BLT 143372$
+
        MOV     @23434,R0
ADD #4,23434$
+
        ADD     23426,R0
MOV @23434$,R0
+
        MOV     R0,23430
ADD 23426$,R0
+
        SUB    -12(R5),-16(R5)
MOV R0,23430$
+
143372$:MOV     23430,177010
MOV -12(R5),-16(R5)
+
        TST     177024
143372$:MOV 23430$,177010$
+
        BNE     143406$
TST 177024$
+
143406$:MOV     23430,177010
BNE 143406$
+
        MOV     23436,177024
143406$:MOV 23430$,177010$
+
        JMP     141632$
MOV 23436$,177024$
+
143426$:MOV     23430,177010
JMP 141622$
+
        TST     177024
143426$:MOV 23430$,177010$
+
        BEQ     143454$
TST 177024$
+
        BR     143454$
BEQ 143454$
+
143444$:ADD    -14(R5),-16(R5)
BR 143454$
+
        BR     143426$
143444$:MOV -14(R5),-16(R5)
+
143454$:MOV     23430,177010
BR 143426$
+
        MOV     23436,177024
143454$:MOV 23430$,177010$
+
        BR     143156$
MOV 23436$,177024$
+
143472$:MOV     -12(R5),-20(R5)
BR 143216$
+
        MOV     -20(R5),-10(R5)
143472$:MOV -12(R5),-20(R5)
+
143506$:MOV     -10(R5),R0
MOV -20(R5),-10(R5)
+
        DEC     -10(R5)
143506$:MOV -10(R5),R0
+
        TST     R0
DEC -10(R5)
+
        BNE     143526$
TST R0
+
        JMP     141560$
BNE 143526$
+
143526$:SUB    -14(R5),-16(R5)
JMP 141560$
+
        MOV     23436,R0
143526$:MOV -14(R5),-16(R5)
+
        ASL     R0
MOV 23436$,R0
+
        BIC     #177400,R0
ASL R0
+
        MOV     R0,23436
BIC #177400,R0
+
        BNE     143642$
MOV R0,23436$
+
        MOV     #1,23436
BNE 143642$
+
        INC     23430
MOV #1,23436$
+
        INC     23426
INC 23430$
+
        BR     143642$
INC 23426$
+
143574$:MOV     23430,177010
BR 143642$
+
        TST     177024
143574$:MOV 23430$,177010$
+
        BEQ    143622$
TST 177024$
+
        BR      143622$
BEQ 143622$
+
143612$:SUB    -14(R5),-16(R5)
BR 143622$
+
        BR     143574$
143612$:MOV -14(R5),-16(R5)
+
143622$:MOV     23430,177010
BR 143574$
+
        MOV     23436,177024
143622$:MOV 23430$,177010$
+
        JMP     142762$
MOV 23436$,177024$
+
143642$:TST     -16(R5)
JMP 142762$
+
        BGE     143660$
143642$:TST -16(R5)
+
        MOV     -16(R5),R0
BGE 143660$
+
        NEG     R0
MOV -16(R5),R0
+
        BR     143664$
NEG R0
+
143660$:MOV     -16(R5),R0
BR 143664$
+
143664$:ASL     R0
143660$:MOV -16(R5),R0
+
        CMP     R0,-20(R5)
143664$:ASL R0
+
        BLT     143724$
CMP R0,-20(R5)
+
        ADD     #4,23434
BLT 143724$
+
        MOV     @23434,R0
ADD #4,23434$
+
        ADD     23426,R0
MOV @23434$,R0
+
        MOV     R0,23430
ADD 23426$,R0
+
        SUB     -12(R5),-16(R5)
MOV R0,23430$
+
143724$:MOV     23430,177010
SUB -12(R5),-16(R5)
+
        TST     177024
143724$:MOV 23430$,177010$
+
        BNE     143740$
TST 177024$
+
143740$:MOV     23430,177010
BNE 143740$
+
        MOV     23436,177024
143740$:MOV 23430$,177010$
+
        BR     143506$
MOV 23436$,177024$
 
BR 143506$
 
 
; П/п приема трех символов и перевода их в целое число
 
; П/п приема трех символов и перевода их в целое число
143756$:MOV R5,-(SP)
+
143756$:MOV     R5,-(SP)
MOV SP,R5
+
        MOV     SP,R5
ADD #-10,SP
+
        ADD     #-10,SP
CALL 145564$
+
        CALL   145564$
ASH #6,R0
+
        ASH     #6,R0
MOV R0,23424$
+
        MOV     R0,23424
CALL 145564$
+
        CALL   145564$
BIC #177700,R0
+
        BIC     #177700,R0
BIS 23424$,R0
+
        BIS     23424,R0
ASH #4,R0
+
        ASH     #4,R0
MOV R0,23424$
+
        MOV     R0,23424
CALL 145564$
+
        CALL   145564$
MOV R0,-10(R5)
+
        MOV     R0,-10(R5)
MOV -10(R5),R0
+
        MOV     -10(R5),R0
BIC #177760,R0
+
        BIC     #177760,R0
BIS 23424$,R0
+
        BIS     23424,R0
MOV R0,23424$
+
        MOV     R0,23424
BIT #20,-10(R5)
+
        BIT     #20,-10(R5)
BNE 144100$
+
        BNE     144100$
MOV 23424$,R0
+
        MOV     23424,R0
NEG R0
+
        NEG     R0
MOV R0,23424$
+
        MOV     R0,23424
144100$:JMP 136056$
+
144100$:JMP     136056$
 
; П/п приема пяти символов и перевода их в два целых числа
 
; П/п приема пяти символов и перевода их в два целых числа
144104$:MOV R5,-(SP)
+
144104$:MOV     R5,-(SP)
MOV SP,R5
+
        MOV     SP,R5
ADD #-10,SP
+
        ADD     #-10,SP
CALL 145564$
+
        CALL   145564$
BIC #177740,R0
+
        BIC     #177740,R0
ASH #5,R0
+
        ASH     #5,R0
MOV R0,23422$
+
        MOV     R0,23422
CALL 145564$
+
        CALL   145564$
MOV R0,-10(R5)
+
        MOV     R0,-10(R5)
CALL 145564$
+
        CALL   145564$
BIC #177740,R0
+
        BIC     #177740,R0
BIS 23422$,R0
+
        BIS     23422,R0
ASL R0
+
        ASL     R0
ASL R0
+
        ASL     R0
MOV R0,23422$
+
        MOV     R0,23422
CALL 145564$
+
        CALL   145564$
BIC #177740,R0
+
        BIC     #177740,R0
ASH #5,R0
+
        ASH     #5,R0
MOV R0,23420$
+
        MOV     R0,23420
CALL 145564$
+
        CALL   145564$
BIC #177740,R0
+
        BIC     #177740,R0
BIS 23420$,R0
+
        BIS     23420,R0
ASL R0
+
        ASL     R0
ASL R0
+
        ASL     R0
MOV R0,23420$
+
        MOV     R0,23420
MOV -10(R5),R0
+
        MOV     -10(R5),R0
ASR R0
+
        ASR     R0
ASR R0
+
        ASR     R0
BIC #177774,R0
+
        BIC     #177774,R0
BIS 23422$,R0
+
        BIS     23422,R0
MOV R0,23422$
+
        MOV     R0,23422
MOV -10(R5),R0
+
        MOV     -10(R5),R0
BIC #177774,R0
+
        BIC     #177774,R0
BIS 23420$,R0
+
        BIS     23420,R0
MOV R0,23420$
+
        MOV     R0,23420
JMP 136056$
+
        JMP     136056$
 
; П/п преобразования целого числа в три символа и их вывод
 
; П/п преобразования целого числа в три символа и их вывод
144304$:MOV R5,-(SP)
+
144304$:MOV     R5,-(SP)
MOV SP,R5
+
        MOV     SP,R5
ADD #-12,SP
+
        ADD     #-12,SP
TST 4(R5)
+
        TST     4(R5)
BGE 144342$
+
        BGE     144342$
MOV 4(R5),R0
+
        MOV     4(R5),R0
NEG R0
+
        NEG     R0
MOV R0,4(R5)
+
        MOV     R0,4(R5)
CLR -10(R5)
+
        CLR     -10(R5)
BR 143350$
+
        BR     144350$
143342$:MOV #20,-10(R5)
+
144342$:MOV     #20,-10(R5)
143350$:MOV 4(R5),R0
+
144350$:MOV     4(R5),R0
ASH #-12,R0
+
        ASH     #-12,R0
MOV R0,@SP
+
        MOV     R0,@SP
BIC #177700,@SP
+
        BIC     #177700,@SP
BIS #100,@SP
+
        BIS     #100,@SP
CALL 145612$
+
        CALL   145612$
MOV 4(R5),R0
+
        MOV     4(R5),R0
ASH #-4,R0
+
        ASH     #-4,R0
MOV R0,@SP
+
        MOV     R0,@SP
BIC #177700,@SP
+
        BIC     #177700,@SP
BIS #100,@SP
+
        BIS     #100,@SP
CALL 145612$
+
        CALL   145612$
MOV 4(R5),@SP
+
        MOV     4(R5),@SP
BIC #177760,@SP
+
        BIC     #177760,@SP
BIS -10(R5),@SP
+
        BIS     -10(R5),@SP
BIS #40,@SP
+
        BIS     #40,@SP
CALL 145612$
+
        CALL   145612$
JMP 136056$
+
        JMP     136056$
 
; П/п преобразования двух целых чисел в пять символов и их вывод
 
; П/п преобразования двух целых чисел в пять символов и их вывод
144454$:MOV R5,-(SP)
+
144454$:MOV     R5,-(SP)
MOV SP,R5
+
        MOV     SP,R5
TST -(SP)
+
        TST     -(SP)
MOV 6(R5),R0
+
        MOV     6(R5),R0
ASH #-7,R0
+
        ASH     #-7,R0
MOV R0,@SP
+
        MOV     R0,@SP
BIC #177740,@SP
+
        BIC     #177740,@SP
BIS #40,@SP
+
        BIS     #40,@SP
CALL 145612$
+
        CALL   145612$
MOV 4(R5),@SP
+
        MOV     4(R5),@SP
BIC #177774,@SP
+
        BIC     #177774,@SP
MOV 6(R5),R0
+
        MOV     6(R5),R0
BIC #177774,R0
+
        BIC     #177774,R0
ASL R0
+
        ASL     R0
ASL R0
+
        ASL     R0
BIS R0,@SP
+
        BIS     R0,@SP
BIS #140,@SP
+
        BIS     #140,@SP
CALL 145612$
+
        CALL   145612$
MOV 6(R5),@SP
+
        MOV     6(R5),@SP
ASR @SP
+
        ASR     @SP
ASR @SP
+
        ASR     @SP
BIC #177740,@SP
+
        BIC     #177740,@SP
BIS #140,@SP
+
        BIS     #140,@SP
CALL 145612$
+
        CALL   145612$
MOV 4(R5),R0
+
        MOV     4(R5),R0
ASH #-7,R0
+
        ASH     #-7,R0
MOV R0,@SP
+
        MOV     R0,@SP
BIC #177740,@SP
+
        BIC     #177740,@SP
BIS #40,@SP
+
        BIS     #40,@SP
CALL 145612$
+
        CALL   145612$
MOV 4(R5),@SP
+
        MOV     4(R5),@SP
ASR @SP
+
        ASR     @SP
ASR @SP
+
        ASR     @SP
BIC #177740,@SP
+
        BIC     #177740,@SP
BIS #100,@SP
+
        BIS     #100,@SP
CALL 145612$
+
        CALL   145612$
JMP 136056$
+
        JMP     136056$
  
144650$:TST (R1)+
+
144650$:TST     (R1)+
BEQ 144664$
+
        BEQ     144664$
CMP R0,(R1)+
+
        CMP     R0,(R1)+
BNE 144650$
+
        BNE     144650$
JMP @-4(R1)
+
        JMP     @-4(R1)
JMP @(R1)+
+
144664$:JMP     @(R1)+
 
; П/п закраски прямоугольной области
 
; П/п закраски прямоугольной области
144666$:MOV R5,-(SP)
+
144666$:MOV     R5,-(SP)
MOV SP,R5
+
        MOV     SP,R5
ADD #-22,SP
+
        ADD     #-22,SP
MOV #1,R0
+
        MOV     #1,R0
MOV 10(R5),R1
+
        MOV     10(R5),R1
BIC #177770,R1
+
        BIC     #177770,R1
MOV R1,23440$
+
        MOV     R1,23440
ASH 23440$,R0
+
        ASH     23440,R0
MOV R0,23436$
+
        MOV     R0,23436
MOV 23432$,R0
+
        MOV     23432,R0
MOV 12(R5),R1
+
        MOV     12(R5),R1
ASL R1
+
        ASL     R1
ASL R1
+
        ASL     R1
SUB R1,R0
+
        SUB     R1,R0
MOV R0,23434$
+
        MOV     R0,23434
MOV @23434$,R0
+
        MOV     @23434,R0
MOV 10(R5),R1
+
        MOV     10(R5),R1
ASH #-3,R1
+
        ASH     #-3,R1
MOV R1,23426$
+
        MOV     R1,23426
MOV 23426$,R0
+
        ADD    23426,R0
MOV R0,23430$
+
        MOV     R0,23430
MOV 23426$,-14(R5)
+
        MOV     23426,-14(R5)
MOV 23434$,-22(R5)
+
        MOV     23434,-22(R5)
MOV #100000,R0
+
        MOV     #100000,R0
MOV 23440$,R1
+
        MOV     23440,R1
ADD #-16,R1
+
        ADD     #-16,R1
ASH R1,R0
+
        ASH     R1,R0
COM R0
+
        COM     R0
MOV R0,-12(R5)
+
        MOV     R0,-12(R5)
MOV #1,R0
+
        MOV     #1,R0
MOV 4(R5),R1
+
        MOV     4(R5),R1
BIC #177770,R1
+
        BIC     #177770,R1
MOV R1,23440$
+
        MOV     R1,23440
ASH 23440$,R0
+
        ASH     23440,R0
MOV R0,23436$
+
        MOV     R0,23436
MOV 23432$,R0
+
        MOV     23432,R0
MOV 6(R5),R1
+
        MOV     6(R5),R1
ASL R1
+
        ASL     R1
ASL R1
+
        ASL     R1
SUB R1,R0
+
        SUB     R1,R0
MOV R0,23434$
+
        MOV     R0,23434
MOV @23434$,R0
+
        MOV     @23434,R0
MOV 4(R5),R1
+
        MOV     4(R5),R1
ASH #-3,R1
+
        ASH     #-3,R1
MOV R1,23426$
+
        MOV     R1,23426
ADD 23426$,R0
+
        ADD     23426,R0
MOV R0,23430$
+
        MOV     R0,23430
MOV #100000,R0
+
        MOV     #100000,R0
MOV 23430$,R1
+
        MOV     23440,R1
ADD #-17,R1
+
        ADD     #-17,R1
ASH R1,R0
+
        ASH     R1,R0
MOV R0,-10(R5)
+
        MOV     R0,-10(R5)
MOV -14(R5),R0
+
        MOV     -14(R5),R0
SUB 23426$,R0
+
        SUB     23426,R0
MOV R0,-20(R5)
+
        MOV     R0,-20(R5)
MOV 23430$,R0
+
        MOV     23430,R0
ADD -20(R5),R0
+
        ADD     -20(R5),R0
MOV R0,-16(R5)
+
        MOV     R0,-16(R5)
TST -20(R5)
+
        TST     -20(R5)
BNE 145234$
+
        BNE     145234$
MOV -12(R5),R0
+
        MOV     -12(R5),R0
COM R0
+
        COM     R0
BIC R0,-10(R5)
+
        BIC     R0,-10(R5)
145234$:MOV 14(R5),177016$
+
145234$:MOV     14(R5),177016
CMP 23434$,-22(R5)
+
145242$:CMP     23434,-22(R5)
BLO 145270$
+
        BLO     145270$
MOV 23430$,177010$
+
        MOV     23430,177010
TST 177024$
+
        TST     177024
BEQ 145376$
+
        BEQ     145376$
BR 145376$
+
        BR     145376$
145270$:MOV #1,R0
+
145270$:MOV     #1,R0
MOV 23414$,R1
+
        MOV     23414,R1
BIC #177770,R1
+
        BIC     #177770,R1
MOV R1,23440$
+
        MOV     R1,23440
ASH 23440$,R0
+
        ASH     23440,R0
MOV R0,23436$
+
        MOV     R0,23436
MOV 23432$,R0
+
        MOV     23432,R0
MOV 23416$,R1
+
        MOV     23416,R1
ASL R1
+
        ASL     R1
ASL R1
+
        ASL     R1
SUB R1,R0
+
        SUB     R1,R0
MOV R0,23434$
+
        MOV     R0,23434
MOV @23434$,R0
+
        MOV     @23434,R0
MOV 23414$,R1
+
        MOV     23414,R1
ASH #-3,R1
+
        ASH     #-3,R1
MOV R1,23426$
+
        MOV     R1,23426
ADD 23426$,R0
+
        ADD     23426,R0
MOV R0,23430$
+
        MOV     R0,23430
JMP 136056$
+
        JMP     136056$
145376$:MOV 23430$,177010$
+
145376$:MOV     23430,177010
MOV -10(R5),177024$
+
        MOV     -10(R5),177024
TST -20(R5)
+
        TST     -20(R5)
BEQ 145452$
+
        BEQ     145452$
145420$:INC 23430$
+
145420$:INC     23430
CMP 23430$,-16(R5)
+
        CMP     23430,-16(R5)
BHIS 145512$
+
        BHIS   145512$
MOV 23430$,177010$
+
        MOV     23430,177010
TST 177024$
+
        TST     177024
BEQ 145530$
+
        BEQ     145530$
BR 145530$
+
        BR     145530$
145452$:SUB #4,23434$
+
145452$:SUB     #4,23434
MOV @23434$,R0
+
        MOV     @23434,R0
ADD 23426$,R0
+
        ADD     23426,R0
MOV R0,23430$
+
        MOV     R0,23430
MOV 23430$,R0
+
        MOV     23430,R0
ADD -20(R5),R0
+
        ADD     -20(R5),R0
MOV R0,-16(R5)
+
        MOV     R0,-16(R5)
BR 145242$
+
        BR     145242$
145512$:MOV 23430$,177010$
+
145512$:MOV     23430,177010
TST 177024$
+
        TST     177024
BEQ 145546$
+
        BEQ     145546$
BR 145546$
+
        BR     145546$
145530$:MOV 23430$,177010$
+
145530$:MOV     23430,177010
MOV #377,177024$
+
        MOV     #377,177024
BR 145420$
+
        BR     145420$
145546$:MOV 23430$,177010$
+
145546$:MOV     23430,177010
MOV -12(R5),177024$
+
        MOV     -12(R5),177024
BR 145452$
+
        BR     145452$
 
; П/п приема символа
 
; П/п приема символа
145564$:MOV R5,-(SP)
+
145564$:MOV     R5,-(SP)
MOV R4,-(SP)
+
        MOV     R4,-(SP)
MOV R3,-(SP)
+
        MOV     R3,-(SP)
MOV R2,-(SP)
+
        MOV     R2,-(SP)
CALL 110762$
+
        CALL   110762$
MOV (SP)+,R2
+
        MOV     (SP)+,R2
MOV (SP)+,R3
+
        MOV     (SP)+,R3
MOV (SP)+,R4
+
        MOV     (SP)+,R4
MOV (SP)+,R5
+
        MOV     (SP)+,R5
RETURN
+
        RETURN
 
; П/п вывода символа
 
; П/п вывода символа
145612$:MOV 2(SP),R0
+
145612$:MOV     2(SP),R0
CALL 104160$
+
        CALL   104160$
RETURN
+
        RETURN
 
; Все остальные п/п относятся к обработке последовательностей Esc UB и Esc UC
 
; Все остальные п/п относятся к обработке последовательностей Esc UB и Esc UC
145624$:MOV SP,23602$
+
145624$:MOV     SP,23602
CALL 152144$
+
        CALL   152144$
BHIS 145642$
+
        BHIS   145642$
JMP 145716$
+
        JMP     145716$
145642$:CALL 151000$
+
145642$:CALL   151000$
BLO 145734$
+
        BLO     145732$
145650$:MOV #23540$,R1
+
145650$:MOV     #23540,R1
CMP 2(R1),#23546$
+
        CMP     2(R1),#23546
BEQ 145732$
+
        BEQ     145732$
CALL 145734$
+
        CALL   145734$
BLO 145676$
+
        BLO     145676$
CALL 146010$
+
        CALL   146010$
145676$:MOV #23546$,R1
+
145676$:MOV     #23546,R1
CALL 145762$
+
        CALL   145762$
BLO 145650$
+
        BLO     145650$
CALL 146106$
+
        CALL   146104$
BR 145650$
+
        BR     145650$
145716$:MOV 23602$,SP
+
145716$:MOV     23602,SP
MOV #1,R0
+
        MOV     #1,R0
BR 145732$
+
        BR     145732$
CLR R0
+
        CLR     R0
 
145732$:RETURN
 
145732$:RETURN
145734$:MOV 2(R1),R1
+
145734$:MOV     2(R1),R1
TST @R1
+
        TST     @R1
BEQ 145756$
+
        BEQ     145756$
MOV 6(R1),23564$
+
        MOV     6(R1),23564
BEQ 145734$
+
        BEQ     145734$
BR 145760$
+
        BR     145760$
 
145756$:SEC
 
145756$:SEC
 
145760$:RETURN
 
145760$:RETURN
145762$:MOV 4(R1),R1
+
145762$:MOV     4(R1),R1
TST @R1
+
        TST     @R1
BEQ 146004$
+
        BEQ     146004$
MOV 10(R1),23564$
+
        MOV     10(R1),23564
BEQ 145762$
+
        BEQ     145762$
BR 146006$
+
        BR     146006$
 
146004$:SEC
 
146004$:SEC
 
146006$:RETURN
 
146006$:RETURN
146010$:MOV 0(R1),23560$
+
146010$:MOV     0(R1),23560
MOV #1,23572$
+
        MOV     #1,23572
MOV 23474$,23574$
+
        MOV     23474,23574
INC 23574$
+
        INC     23574
MOV #0,23576$
+
        MOV     #0,23576
MOV #2,23600$
+
        MOV     #2,23600
MOV #-2,23606$
+
        MOV     #-2,23606
MOV #2,23610$
+
        MOV     #2,23610
MOV R1,23554$
+
        MOV     R1,23554
ADD #2,R1
+
        ADD     #2,R1
CALL 146200$
+
        CALL   146200$
RETURN
+
        RETURN
146104$:MOV 0(R1),23560$
+
146104$:MOV     0(R1),23560
MOV #-1,23572$
+
        MOV     #-1,23572
MOV #0,23574$
+
        MOV     #0,23574
MOV 23474$,23576$
+
        MOV     23474,23576
INC 23576$
+
        INC     23576
MOV #-2,23600$
+
        MOV     #-2,23600
MOV #-4,23606$
+
        MOV     #-4,23606
MOV #4,23610$
+
        MOV     #4,23610
MOV R1,23554$
+
        MOV     R1,23554
ADD #4,R1
+
        ADD     #4,R1
CALL 146200$
+
        CALL   146200$
RETURN
+
        RETURN
146200$:MOV 23564$,R2
+
146200$:MOV     23564,R2
MOV 23566$,R3
+
        MOV     23566,R3
MOV 23502$,R5
+
        MOV     23502,R5
146214$:MOV (R2)+,(R3)+
+
146214$:MOV     (R2)+,(R3)+
SOB R5,146214$
+
        SOB     R5,146214$
MOV 20(R1),23616$
+
        MOV     20(R1),23616
MOV 10(R1),23620$
+
        MOV     10(R1),23620
MOV 14(R1),23562$
+
        MOV     14(R1),23562
MOV 23570$,R0
+
        MOV     23570,R0
MOV 23502$,R5
+
        MOV     23502,R5
146252$:CLR (R0)+
+
146252$:CLR     (R0)+
SOB R5,146252$
+
        SOB     R5,146252$
MOV 10(R1),R5
+
        MOV     10(R1),R5
MOV 20(R1),R0
+
        MOV     20(R1),R0
SUB R0,R5
+
        SUB     R0,R5
ASR R5
+
        ASR     R5
INC R5
+
        INC     R5
MOV 23570$,R2
+
        MOV     23570,R2
ADD R0,R2
+
        ADD     R0,R2
ADD 23562$,R0
+
        ADD     23562,R0
MOV R2,-(SP)
+
        MOV     R2,-(SP)
MOV R0,-(SP)
+
        MOV     R0,-(SP)
146312$:CALL 147760$
+
146312$:CALL   147760$
BIS R4,(R2)+
+
        BIS     R4,(R2)+
ADD #2,R0
+
        ADD     #2,R0
SOB R5,146312$
+
        SOB     R5,146312$
MOV 10(R1),R5
+
        MOV     10(R1),R5
ADD 23564$,R5
+
        ADD     23564,R5
MOV @R5,R5
+
        MOV     @R5,R5
CALL 150136$
+
        CALL   150136$
BIT #100000,R5
+
        BIT     #100000,R5
BEQ 146412$
+
        BEQ     146412$
MOV 23476$,R5
+
        MOV     23476,R5
SUB 10(R1),R5
+
        SUB     10(R1),R5
ASR R5
+
        ASR     R5
DEC R5
+
        DEC     R5
BEQ 146412$
+
        BEQ     146412$
146370$:CALL 147760$
+
146370$:CALL   147760$
BIS R4,(R2)+
+
        BIS     R4,(R2)+
CMP #-1,R4
+
        CMP     #-1,R4
BNE 146412$
+
        BNE     146412$
ADD #2,R0
+
        ADD     #2,R0
SOB R5,146370$
+
        SOB     R5,146370$
146412$:MOV (SP)+,R0
+
146412$:MOV     (SP)+,R0
MOV (SP)+,R2
+
        MOV     (SP)+,R2
MOV @R2,R4
+
        MOV     @R2,R4
MOV 20(R1),R5
+
        MOV     20(R1),R5
ADD 23564$,R5
+
        ADD     23564,R5
MOV @R5,R0
+
        MOV     @R5,R5
CALL 150136$
+
        CALL   150136$
BIT #1,R5
+
        BIT     #1,R5
BEQ 146476$
+
        BEQ     146476$
MOV 20(R1),R5
+
        MOV     20(R1),R5
BEQ 146476$
+
        BEQ     146476$
ASR R5
+
        ASR     R5
146454$:SUB #2,R0
+
146454$:SUB     #2,R0
CALL 147760$
+
        CALL   147760$
BIS R4,(R2)+
+
        BIS     R4,-(R2)
CMP #-1,R4
+
        CMP     #-1,R4
BNE 146476$
+
        BNE     146476$
SOB R5,146454$
+
        SOB     R5,146454$
146476$:MOV #23604$,R5
+
146476$:MOV     #23604,R5
CALL 150246$
+
        CALL   150246$
MOV 23604$,R0
+
        MOV     23604,R0
MOV 23570$,R3
+
        MOV     23570,R3
MOV 20(R1),R2
+
        MOV     20(R1),R2
ADD R2,R0
+
        ADD     R2,R0
ADD R2,R3
+
        ADD     R2,R3
ADD 23564$,R2
+
        ADD     23564,R2
MOV 10(R1),R5
+
        MOV     10(R1),R5
SUB 20(R1),R5
+
        SUB     20(R1),R5
ASR R5
+
        ASR     R5
INC R5
+
        INC     R5
MOV R5,-(SP)
+
        MOV     R5,-(SP)
BR 146556$
+
        BR     146556$
146552$:BIS #1,@R2
+
146552$:BIS     #1,@R2
146556$:MOV R5,-(SP)
+
146556$:MOV     R5,-(SP)
MOV (R2)+,R5
+
        MOV     (R2)+,R5
MOV (R3)+,R4
+
        MOV     (R3)+,R4
CALL 150136$
+
        CALL   150136$
BIS R5,(R0)+
+
        BIS     R5,(R0)+
MOV (SP)+,R5
+
        MOV     (SP)+,R5
BIT #100000,R4
+
        BIT     #100000,R4
BNE 146606$
+
        BNE     146606$
SOB R5,146556$
+
        SOB     R5,146556$
BR 146674$
+
        BR     146674$
146606$:SOB R5,146552$
+
146606$:SOB     R5,146552$
MOV R0,-(SP)
+
        MOV     R0,-(SP)
MOV R2,-(SP)
+
        MOV     R2,-(SP)
MOV R3,-(SP)
+
        MOV     R3,-(SP)
MOV 23476$,R5
+
        MOV     23476,R5
SUB 10(R1),R5
+
        SUB     10(R1),R5
ASR R5
+
        ASR     R5
DEC R5
+
        DEC     R5
BEQ 146666$
+
        BEQ     146666$
146634$:MOV R5,-(SP)
+
146634$:MOV     R5,-(SP)
BIS #1,@R2
+
        BIS     #1,@R2
MOV (R2)+,R5
+
        MOV     (R2)+,R5
MOV (R3)+,R4
+
        MOV     (R3)+,R4
CALL 150136$
+
        CALL   150136$
BIS R5,(R0)+
+
        BIS     R5,(R0)+
MOV (SP)+,R5
+
        MOV     (SP)+,R5
BIT #100000,R4
+
        BIT     #100000,R4
BEQ 146666$
+
        BEQ     146666$
SOB R5,146634$
+
        SOB     R5,146634$
146666$:MOV (SP)+,R3
+
146666$:MOV     (SP)+,R3
MOV (SP)+,R2
+
        MOV     (SP)+,R2
MOV (SP)+,R0
+
        MOV     (SP)+,R0
146674$:MOV (SP)+,R5
+
146674$:MOV     (SP)+,R5
BR 146706$
+
        BR     146706$
146700$:BIS #100000,-2(R2)
+
146700$:BIS     #100000,-2(R2)
146706$:MOV R5,-(SP)
+
146706$:MOV     R5,-(SP)
MOV -(R2),R5
+
        MOV     -(R2),R5
MOV -(R3),R4
+
        MOV     -(R3),R4
CALL 150136$
+
        CALL   150136$
BIS R5,-(R0)
+
        BIS     R5,-(R0)
MOV (SP)+,R5
+
        MOV     (SP)+,R5
BIT #1,R4
+
        BIT     #1,R4
BNE 146736$
+
        BNE     146736$
SOB R5,146706$
+
        SOB     R5,146706$
BR 147002$
+
        BR     147002$
146736$:SOB R5,146700$
+
146736$:SOB     R5,146700$
TST 20(R1)
+
        TST     20(R1)
BEQ 147002$
+
        BEQ     147002$
MOV @R0,R4
+
        MOV     @R0,R4
146750$:BIT #1,R4
+
146750$:BIT     #1,R4
BEQ 147002$
+
        BEQ     147002$
BIS #100000,-(R2)
+
        BIS     #100000,-(R2)
MOV @R2,R5
+
        MOV     @R2,R5
MOV -(R3),R4
+
        MOV     -(R3),R4
CALL 150136$
+
        CALL   150136$
BIS R5,-(R0)
+
        BIS     R5,-(R0)
CMP R0,23604$
+
        CMP     R0,23604
BHI 146750$
+
        BHI     146750$
147002$:MOV 23604$,R0
+
147002$:MOV     23604,R0
MOV 23570$,R3
+
        MOV     23570,R3
MOV 23502$,R5
+
        MOV     23502,R5
147016$:MOV (R0)+,(R3)+
+
147016$:MOV     (R0)+,(R3)+
SOB R5,147016$
+
        SOB     R5,147016$
MOV 23604$,R5
+
        MOV     23604,R5
CALL 150470$
+
        CALL   150470$
BHIS 147050$
+
        BHIS   147050$
MOV 23536$,@R5
+
        MOV     23536,@R5
MOV R5,23536$
+
        MOV     R5,23536
JMP 147644$
+
        JMP     147644$
147050$:CALL 150716$
+
147050$:CALL   150716$
MOV 23560$,R3
+
        MOV     23560,R3
ADD 23572$,R3
+
        ADD     23572,R3
CMP R3,23574$
+
        CMP     R3,23574
BEQ 147426$
+
        BEQ     147426$
CALL 147732$
+
        CALL   147732$
CALL 150576$
+
        CALL   150576$
MOV R4,23556$
+
        MOV     R4,23556
ADD 23610$,R4
+
        ADD     23610,R4
MOV 23636$,14(R4)
+
        MOV     23636,14(R4)
ADD 23630$,14(R4)
+
        ADD     23630,14(R4)
MOV 4(R4),R3
+
        MOV     4(R4),R3
BNE 147160$
+
        BNE     147160$
MOV 23604$,4(R4)
+
        MOV     23604,4(R4)
MOV 23612$,20(R4)
+
        MOV     23612,20(R4)
MOV 23614$,10(R4)
+
        MOV     23614,10(R4)
BR 147240$
+
        BR     147240$
147160$:MOV 23502$,R5
+
147160$:MOV     23502,R5
MOV 23604$,R0
+
        MOV     23604,R0
147170$:BIS (R0)+,(R3)+
+
147170$:BIS     (R0)+,(R3)+
SOB R5,147170$
+
        SOB     R5,147170$
CMP 23612$,20(R4)
+
        CMP     23612,20(R4)
BGE 147212$
+
        BGE     147212$
MOV 23612$,20(R4)
+
        MOV     23612,20(R4)
147212$:CMP 23614$,10(R4)
+
147212$:CMP     23614,10(R4)
BLE 147230$
+
        BLE     147230$
MOV 23614$,10(R4)
+
        MOV     23614,10(R4)
147230$:MOV 23604$,R5
+
147230$:MOV     23604,R5
CALL 150300$
+
        CALL   150300$
MOV R4,-(SP)
+
147240$:MOV     R4,-(SP)
MOV R1,-(SP)
+
        MOV     R1,-(SP)
MOV 23612$,-(SP)
+
        MOV     23612,-(SP)
MOV 23614$,-(SP)
+
        MOV     23614,-(SP)
MOV R4,R1
+
        MOV     R4,R1
ADD 23600$,R1
+
        ADD     23600,R1
MOV 4(R1),R2
+
        MOV     4(R1),R2
BEQ 147412$
+
        BEQ     147412$
MOV 4(R4),R3
+
        MOV     4(R4),R3
MOV 23502$,R5
+
        MOV     23502,R5
MOV R2,-(SP)
+
        MOV     R2,-(SP)
MOV R3,-(SP)
+
        MOV     R3,-(SP)
147304$:MOV @R2,R0
+
147304$:MOV     @R2,R0
BIC @R3,(R2)+
+
        BIC     @R3,(R2)+
BIC R0,(R3)+
+
        BIC     R0,(R3)+
SOB R5,147304$
+
        SOB     R5,147304$
MOV (SP)+,R3
+
        MOV     (SP)+,R3
MOV (SP)+,R2
+
        MOV     (SP)+,R2
MOV 23556$,23640$
+
        MOV     23556,23640
MOV R2,R5
+
        MOV     R2,R5
CALL 150470$
+
        CALL   150470$
BCC 147344$
+
        BCC     147344$
CALL 150332$
+
        CALL   150332$
BR 147360$
+
        BR     147360$
147344$:MOV 23612$,20(R1)
+
147344$:MOV     23612,20(R1)
MOV 23614$,10(R1)
+
        MOV     23614,10(R1)
147360$:MOV R3,R5
+
147360$:MOV     R3,R5
CALL 150470$
+
        CALL   150470$
BCC 147376$
+
        BCC     147376$
CALL 150332$
+
        CALL   150332$
BR 147412$
+
        BR     147412$
147376$:MOV 23612$,20(R4)
+
147376$:MOV     23612,20(R4)
MOV 23614$,10(R4)
+
        MOV     23614,10(R4)
147412$:MOV (SP)+,23614$
+
147412$:MOV     (SP)+,23614
MOV (SP)+,23612$
+
        MOV     (SP)+,23612
MOV (SP)+,R1
+
        MOV     (SP)+,R1
MOV (SP)+,R4
+
        MOV     (SP)+,R4
SUB 23572$,23560$
+
147426$:SUB     23572,23560
CMP 23560$,23576$
+
        CMP     23560,23576
BEQ 147644$
+
        BEQ     147644$
MOV 23566$,R0
+
        MOV     23566,R0
MOV 23570$,R3
+
        MOV     23570,R3
MOV 23502$,R5
+
        MOV     23502,R5
147460$:BIC (R0)+,(R3)+
+
147460$:BIC     (R0)+,(R3)+
SOB R5,147460$
+
        SOB     R5,147460$
MOV 23570$,R5
+
        MOV     23570,R5
CALL 150470$
+
        CALL   150470$
BCS 147644$
+
        BCS     147644$
MOV 23560$,R3
+
        MOV     23560,R3
CALL 147732$
+
        CALL   147732$
CALL 150576$
+
        CALL   150576$
ADD 23610$,R4
+
        ADD     23610,R4
ADD 23600$,R4
+
        ADD     23600,R4
MOV 23636$,14(R4)
+
        MOV     23636,14(R4)
MOV 4(R4),R3
+
        MOV     4(R4),R3
BNE 147554$
+
        BNE     147554$
MOV R4,R5
+
        MOV     R4,R5
ADD #4,R5
+
        ADD     #4,R5
CALL 150246$
+
        CALL   150246$
MOV 4(R4),R3
+
        MOV     4(R4),R3
147554$:MOV 23614$,R5
+
147554$:MOV     23614,R5
SUB 23612$,R5
+
        SUB     23612,R5
ASR R5
+
        ASR     R5
INC R5
+
        INC     R5
MOV 23570$,R2
+
        MOV     23570,R2
ADD 23612$,R2
+
        ADD     23612,R2
ADD 23612$,R3
+
        ADD     23612,R3
147604$:BIS (R2)+,(R3)+
+
147604$:BIS     (R2)+,(R3)+
SOB R5,147604$
+
        SOB     R5,147604$
CMP 23612$,20(R4)
+
        CMP     23612,20(R4)
BGE 147626$
+
        BGE     147626$
MOV 23612$,20(R4)
+
        MOV     23612,20(R4)
147626$:CMP 23614$,10(R4)
+
147626$:CMP     23614,10(R4)
BLE 147644$
+
        BLE     147644$
MOV 23614$,10(R4)
+
        MOV     23614,10(R4)
147644$:MOV R1,R5
+
147644$:MOV     R1,R5
MOV 23554$,23640$
+
        MOV     23554,23640
CALL 150332$
+
        CALL   150332$
RETURN
+
        RETURN
147662$:MOV (SP)+,23642$
+
147662$:MOV     (SP)+,23642
MOV R1,-(SP)
+
        MOV     R1,-(SP)
MOV R2,-(SP)
+
        MOV     R2,-(SP)
MOV R3,-(SP)
+
        MOV     R3,-(SP)
MOV R4,-(SP)
+
        MOV     R4,-(SP)
MOV R5,-(SP)
+
        MOV     R5,-(SP)
MOV 23642$,-(SP)
+
        MOV     23642,-(SP)
RETURN
+
        RETURN
147706$:MOV (SP)+,23642$
+
147706$:MOV     (SP)+,23642
MOV (SP)+,R5
+
        MOV     (SP)+,R5
MOV (SP)+,R4
+
        MOV     (SP)+,R4
MOV (SP)+,R3
+
        MOV     (SP)+,R3
MOV (SP)+,R2
+
        MOV     (SP)+,R2
MOV (SP)+,R1
+
        MOV     (SP)+,R1
MOV 23642$,-(SP)
+
        MOV     23642,-(SP)
RETURN
+
        RETURN
147732$:MOV R3,-(SP)
+
147732$:MOV     R3,-(SP)
DEC R3
+
        DEC     R3
NEG R3
+
        NEG     R3
ASL R3
+
        ASL     R3
ASL R3
+
        ASL     R3
ADD 23504$,R3
+
        ADD     23504,R3
MOV @R3,23636$
+
        MOV     @R3,23636
MOV (SP)+,R3
+
        MOV     (SP)+,R3
RETURN
+
        RETURN
147760$:MOV R3,-(SP)
+
147760$:MOV     R3,-(SP)
MOV R5,-(SP)
+
        MOV     R5,-(SP)
CLR R4
+
        CLR     R4
DEC R4
+
        DEC     R4
MOV R0,177010$
+
        MOV     R0,177010
MOVB 177012$,R5
+
        MOVB   177012,R5
MOV 23464$,R3
+
        MOV     23464,R3
XOR R3,R5
+
        XOR     R3,R5
BICB R5,R4
+
        BICB   R5,R4
MOVB 177014$,R5
+
        MOVB   177014,R5
MOV 23466$,R3
+
        MOV     23466,R3
XOR R3,R5
+
        XOR     R3,R5
BICB R5,R4
+
        BICB   R5,R4
MOVB 177015$,R5
+
        MOVB   177015,R5
MOV 23470$,R3
+
        MOV     23470,R3
XOR R3,R5
+
        XOR     R3,R5
BICB R5,R4
+
        BICB   R5,R4
INC R0
+
        INC     R0
SWAB R4
+
        SWAB   R4
MOV R0,177010$
+
        MOV     R0,177010
MOVB 177012$,R5
+
        MOVB   177012,R5
MOV 23464$,R3
+
        MOV     23464,R3
XOR R3,R5
+
        XOR     R3,R5
BICB R5,R4
+
        BICB   R5,R4
MOVB 177014$,R5
+
        MOVB   177014,R5
MOV 23466$,R3
+
        MOV     23466,R3
XOR R3,R5
+
        XOR     R3,R5
BICB R5,R4
+
        BICB   R5,R4
MOVB 177015$,R5
+
        MOVB   177015,R5
MOV 23470$,R3
+
        MOV     23470,R3
XOR R3,R5
+
        XOR     R3,R5
BICB R5,R4
+
        BICB   R5,R4
SWAB R4
+
        SWAB   R4
TST 23634$
+
        TST     23634
BNE 150126$
+
        BNE     150126$
COM R4
+
        COM     R4
150126$:DEC R0
+
150126$:DEC     R0
MOV (SP)+,R5
+
        MOV     (SP)+,R5
MOV (SP)+,R3
+
        MOV     (SP)+,R3
RETURN
+
        RETURN
150136$:TST R5
+
150136$:TST     R5
BEQ 150234$
+
        BEQ     150234$
COM R4
+
        COM     R4
BEQ 150240$
+
        BEQ     150240$
BIC R4,R5
+
        BIC     R4,R5
BEQ 150234$
+
        BEQ     150234$
MOV R0,-(SP)
+
        MOV     R0,-(SP)
MOV R1,-(SP)
+
        MOV     R1,-(SP)
MOV R4,-(SP)
+
        MOV     R4,-(SP)
COM R4
+
        COM     R4
CLR R0
+
        CLR     R0
150164$:MOV R4,R1
+
150164$:MOV     R4,R1
DEC R1
+
        DEC     R1
XOR R4,R1
+
        XOR     R4,R1
BIS R1,R4
+
        BIS     R1,R4
MOV R4,R1
+
        MOV     R4,R1
INC R1
+
        INC     R1
XOR R4,R1
+
        XOR     R4,R1
BLT 150210$
+
        BLT     150210$
CLC
+
        CLC
ROR R1
+
        ROR     R1
150210$:BIC R0,R1
+
150210$:BIC     R0,R1
BIS R1,R0
+
        BIS     R1,R0
BIT R1,R5
+
        BIT     R1,R5
BEQ 150222$
+
        BEQ     150222$
BIS R1,R5
+
        BIS     R1,R5
150222$:BIC R0,R4
+
150222$:BIC     R0,R4
BEQ 150164$
+
        BNE    150164$
BIC (SP)+,R5
+
        BIC     (SP)+,R5
MOV (SP)+,R1
+
        MOV     (SP)+,R1
MOV (SP)+,R0
+
        MOV     (SP)+,R0
150234$:MOV R5,R4
+
150234$:MOV     R5,R4
RETURN
+
        RETURN
150240$:COM R4
+
150240$:COM     R4
MOV R4,R5
+
        MOV     R4,R5
RETURN
+
        RETURN
150246$:MOV 23536$,@R5
+
150246$:MOV     23536,@R5
BNE 150260$
+
        BNE     150260$
JMP 145716$
+
        JMP     145716$
150260$:MOV @23536$,23536$
+
150260$:MOV     @23536,23536
MOV R5,-(SP)
+
        MOV     R5,-(SP)
MOV @SP,R5
+
        MOV     @R5,R5
CLR @R5
+
        CLR     @R5
MOV (SP)+,R5
+
        MOV     (SP)+,R5
RETURN
+
        RETURN
150300$:MOV R3,-(SP)
+
150300$:MOV     R3,-(SP)
MOV 23476$,R3
+
        MOV     23476,R3
ADD R3,R5
+
        ADD     R3,R5
ASL R3
+
        ASR    R3
150312$:CLR -(R5)
+
150312$:CLR     -(R5)
SOB R3,150312$
+
        SOB     R3,150312$
MOV 23536$,@R5
+
        MOV     23536,@R5
MOV R5,23536$
+
        MOV     R5,23536
MOV (SP)+,R3
+
        MOV     (SP)+,R3
RETURN
+
        RETURN
150332$:MOV R5,-(SP)
+
150332$:MOV     R5,-(SP)
MOV 4(R5),R4
+
        MOV     4(R5),R4
BEQ 150372$
+
        BEQ     150372$
MOV R5,-(SP)
+
        MOV     R5,-(SP)
MOV R4,R5
+
        MOV     R4,R5
CALL 150300$
+
        CALL   150300$
MOV (SP)+,R5
+
        MOV     (SP)+,R5
CLR 4(R5)
+
        CLR     4(R5)
MOV #10000,20(R5)
+
        MOV     #10000,20(R5)
CLR 10(R5)
+
        CLR     10(R5)
150372$:MOV 23640$,R5
+
150372$:MOV     23640,R5
TST 6(R5)
+
        TST     6(R5)
BNE 150464$
+
        BNE     150464$
TST 10(R5)
+
        TST     10(R5)
BNE 150464$
+
        BNE     150464$
MOV R2,-(SP)
+
        MOV     R2,-(SP)
MOV R3,-(SP)
+
        MOV     R3,-(SP)
MOV 2(R5),R2
+
        MOV     2(R5),R2
MOV 4(R5),R3
+
        MOV     4(R5),R3
MOV R3,4(R2)
+
        MOV     R3,4(R2)
MOV R2,2(R3)
+
        MOV     R2,2(R3)
CLR 2(R5)
+
        CLR     2(R5)
CLR 4(R5)
+
        CLR     4(R5)
MOV (SP)+,R3
+
        MOV     (SP)+,R3
MOV (SP)+,R2
+
        MOV     (SP)+,R2
MOV 23506$,0(R5)
+
        MOV     23506,0(R5)
MOV R5,23506$
+
        MOV     R5,23506
MOV (SP)+,R5
+
150464$:MOV     (SP)+,R5
RETURN
+
        RETURN
150470$:MOV R5,-(SP)
+
150470$:MOV     R5,-(SP)
MOV R2,-(SP)
+
        MOV     R2,-(SP)
MOV R3,-(SP)
+
        MOV     R3,-(SP)
MOV R5,R2
+
        MOV     R5,R2
MOV 23502$,R3
+
        MOV     23502,R3
150504$:TST (R2)+
+
150504$:TST     (R2)+
BNE 150524$
+
        BNE     150524$
SOB R3,150504$
+
        SOB     R3,150504$
MOV (SP)+,R3
+
        MOV     (SP)+,R3
MOV (SP)+,R2
+
        MOV     (SP)+,R2
MOV (SP)+,R5
+
        MOV     (SP)+,R5
SEC
+
        SEC
RETURN
+
        RETURN
150524$:SUB #2,R2
+
150524$:SUB     #2,R2
MOV R2,23612$
+
        MOV     R2,23612
MOV 23476$,R3
+
        MOV     23476,R3
ADD R3,R5
+
        ADD     R3,R5
ASR R3
+
        ASR     R3
150544$:TST -(R5)
+
150544$:TST     -(R5)
BNE 150552$
+
        BNE     150552$
SOB R3,150544$
+
        SOB     R3,150544$
150552$:MOV R5,23614$
+
150552$:MOV     R5,23614
MOV (SP)+,R3
+
        MOV     (SP)+,R3
MOV (SP)+,R2
+
        MOV     (SP)+,R2
MOV (SP)+,R5
+
        MOV     (SP)+,R5
SUB R5,23612$
+
        SUB     R5,23612
SUB R5,23614$
+
        SUB     R5,23614
RETURN
+
        RETURN
150576$:MOV R2,-(SP)
+
150576$:MOV     R2,-(SP)
MOV R3,-(SP)
+
        MOV     R3,-(SP)
MOV R5,-(SP)
+
        MOV     R5,-(SP)
MOV #23540$,R4
+
        MOV     #23540,R4
150610$:MOV 2(R4),R5
+
150610$:MOV     2(R4),R5
TST @R5
+
        TST     @R5
BEQ 150634$
+
        BEQ     150634$
CMP 0(R5),R3
+
        CMP     0(R5),R3
BGT 150634$
+
        BGT     150634$
BEQ 150704$
+
        BEQ     150704$
MOV R5,R4
+
        MOV     R5,R4
BR 150610$
+
        BR     150610$
150634$:MOV 23506$,R2
+
150634$:MOV     23506,R2
BNE 150646$
+
        BNE     150646$
JMP 145716$
+
        JMP     145716$
150646$:MOV @R2,23506$
+
150646$:MOV     @R2,23506
MOV R3,0(R2)
+
        MOV     R3,0(R2)
MOV 2(R4),2(R2)
+
        MOV     2(R4),2(R2)
MOV R2,4(R2)
+
        MOV     R2,2(R4)
MOV 4(R5),4(R2)
+
        MOV     4(R5),4(R2)
MOV R2,4(R5)
+
        MOV     R2,4(R5)
MOV R2,R5
+
        MOV     R2,R5
150704$:MOV R5,R4
+
150704$:MOV     R5,R4
MOV (SP)+,R5
+
        MOV     (SP)+,R5
MOV (SP)+,R3
+
        MOV     (SP)+,R3
MOV (SP)+,R2
+
        MOV     (SP)+,R2
RETURN
+
        RETURN
150716$:MOV R2,-(SP)
+
150716$:MOV     R2,-(SP)
MOV R3,-(SP)
+
        MOV     R3,-(SP)
MOV R5,-(SP)
+
        MOV     R5,-(SP)
MOV 23612$,R2
+
        MOV     23612,R2
MOV 23614$,R5
+
        MOV     23614,R5
SUB R2,R5
+
        SUB     R2,R5
ADD #2,R5
+
        ADD     #2,R5
MOV R2,R3
+
        MOV     R2,R3
ADD 23604$,R3
+
        ADD     23604,R3
ADD 14(R1),R2
+
        ADD     14(R1),R2
150754$:MOV R2,177010$
+
150754$:MOV     R2,177010
MOVB (R3)+,177024$
+
        MOVB   (R3)+,177024
INC R2
+
        INC     R2
SOB R5,150754$
+
        SOB     R5,150754$
MOV (SP)+,R5
+
        MOV     (SP)+,R5
MOV (SP)+,R3
+
        MOV     (SP)+,R3
MOV (SP)+,R2
+
        MOV     (SP)+,R2
RETURN
+
        RETURN
151000$:MOV 23652$,R3
+
151000$:MOV     23652,R3
CALL 150576$
+
        CALL   150576$
MOV R4,23624$
+
        MOV     R4,23624
MOV #23604$,R5
+
        MOV     #23604,R5
CALL 150246$
+
        CALL   150246$
MOV 23604$,6(R4)
+
        MOV     23604,6(R4)
MOV R3,0(R4)
+
        MOV     R3,0(R4)
MOV R3,23626$
+
        MOV     R3,23626
MOV 23654$,R0
+
        MOV     23654,R0
DEC R0
+
        DEC     R0
MOV R0,R1
+
        MOV     R0,R1
MOV #3,R3
+
        MOV     #3,R3
 
151056$:CLC
 
151056$:CLC
ROL R1
+
        ROR    R1
SOB R3,151056$
+
        SOB     R3,151056$
BIC #1,R1
+
        BIC     #1,R1
MOV R1,22(R4)
+
        MOV     R1,22(R4)
MOV R1,12(R4)
+
        MOV     R1,12(R4)
ADD R1,23604$
+
        ADD     R1,23604
MOV 0(R4),R3
+
        MOV     0(R4),R3
CALL 147732$
+
        CALL   147732$
MOV 23636$,16(R4)
+
        MOV     23636,16(R4)
MOV 23636$,23562$
+
        MOV     23636,23562
MOV #1,R2
+
        MOV     #1,R2
BIC #177760,R0
+
        BIC     #177760,R0
BEQ 151150$
+
        BEQ     151150$
 
151142$:CLC
 
151142$:CLC
ROL R2
+
        ROL     R2
SOB R0,151142$
+
        SOB     R0,151142$
151150$:MOV R2,@23604$
+
151150$:MOV     R2,@23604
MOV R2,23622$
+
        MOV     R2,23622
CALL 151166$
+
        CALL   151166$
RETURN
+
        RETURN
151166$:MOV SP,23656$
+
151166$:MOV     SP,23656
MOV 23624$,R1
+
        MOV     23624,R1
MOV 22(R1),R0
+
        MOV     22(R1),R0
MOV R0,23616$
+
        MOV     R0,23616
MOV R0,23620$
+
        MOV     R0,23620
MOV 6(R1),R2
+
        MOV     6(R1),R2
ADD R0,R2
+
        ADD     R0,R2
ADD 23562$,R0
+
        ADD     23562,R0
MOV R0,-(SP)
+
        MOV     R0,-(SP)
MOV R2,-(SP)
+
        MOV     R2,-(SP)
MOV R3,-(SP)
+
        MOV     R3,-(SP)
CALL 147760$
+
        CALL   147760$
TST R4
+
        TST     R4
BNE 151246$
+
        BNE     151246$
JMP 151640$
+
        JMP     151640$
151246$:MOV 23622$,R5
+
151246$:MOV     23622,R5
CALL 150136$
+
        CALL   150136$
TST R4
+
        TST     R4
BNE 151266$
+
        BNE     151266$
JMP 151640$
+
        JMP     151640$
151266$:MOV R4,(R2)+
+
151266$:MOV     R4,(R2)+
ADD #2,R0
+
        ADD     #2,R0
BIT #100000,R4
+
        BIT     #100000,R4
BEQ 151374$
+
        BEQ     151374$
MOV 23476$,R5
+
        MOV     23476,R5
SUB 23316$,R5
+
        SUB     23616,R5
ASR R5
+
        ASR     R5
DEC R5
+
        DEC     R5
BEQ 151374$
+
        BEQ     151374$
151320$:CALL 147760$
+
151320$:CALL   147760$
CMP R4,#-1
+
        CMP     R4,#-1
BNE 151352$
+
        BNE     151352$
MOV R4,(R2)+
+
        MOV     R4,(R2)+
ADD #2,R0
+
        ADD     #2,R0
ADD #2,23620$
+
        ADD     #2,23620
SOB R5,151320$
+
        SOB     R5,151320$
BR 151374$
+
        BR     151374$
151352$:MOV #1,R5
+
151352$:MOV     #1,R5
CALL 150136$
+
        CALL   150136$
MOV R4,(R2)+
+
        MOV     R4,(R2)+
BEQ 151374$
+
        BEQ     151374$
ADD #2,23620$
+
        ADD     #2,23620
151374$:MOV (SP)+,R3
+
151374$:MOV     (SP)+,R3
MOV (SP)+,R2
+
        MOV     (SP)+,R2
MOV (SP)+,R0
+
        MOV     (SP)+,R0
BIT #1,@R2
+
        BIT     #1,@R2
BEQ 151474$
+
        BEQ     151474$
MOV 23616$,R5
+
        MOV     23616,R5
ASR R5
+
        ASR     R5
BEQ 151474$
+
        BEQ     151474$
151420$:SUB #2,R0
+
151420$:SUB     #2,R0
CALL 147760$
+
        CALL   147760$
CMP R4,#-1
+
        CMP     R4,#-1
BNE 151452$
+
        BNE     151452$
MOV R4,-(R2)
+
        MOV     R4,-(R2)
151440$:SUB #2,23616$
+
151440$:SUB     #2,23616
SOB R5,151420$
+
        SOB     R5,151420$
BR 151474$
+
        BR     151474$
151452$:MOV #100000,R5
+
151452$:MOV     #100000,R5
CALL 150136$
+
        CALL   150136$
MOV R4,-(R2)
+
        MOV     R4,-(R2)
BEQ 151474$
+
        BEQ     151474$
SUB #2,23616$
+
        SUB     #2,23616
151474$:MOV 23616$,22(R1)
+
151474$:MOV     23616,22(R1)
MOV 23620$,12(R1)
+
        MOV     23620,12(R1)
MOV 0(R1),R3
+
        MOV     0(R1),R3
DEC R3
+
        DEC     R3
BLE 151634$
+
        BLE     151634$
CALL 147732$
+
        CALL   147732$
CALL 150576$
+
        CALL   150576$
MOV R3,0(R4)
+
        MOV     R3,0(R4)
MOV #23564$,R5
+
        MOV     #23564,R5
CALL 150246$
+
        CALL   150246$
MOV 12(R1),R5
+
        MOV     12(R1),R5
SUB 22(R1),R5
+
        SUB     22(R1),R5
ASR R5
+
        ASR     R5
INC R5
+
        INC     R5
MOV 6(R1),R2
+
        MOV     6(R1),R2
MOV 23564$,R3
+
        MOV     23564,R3
ADD 22(R1),R2
+
        ADD     22(R1),R2
ADD 22(R1),R3
+
        ADD     22(R1),R3
151600$:MOV (R2)+,(R3)+
+
151600$:MOV     (R2)+,(R3)+
SOB R5,151600$
+
        SOB     R5,151600$
MOV 22(R1),24(R1)
+
        MOV     22(R1),24(R4)
MOV 12(R1),14(R1)
+
        MOV     12(R1),14(R4)
MOV 23564$,10(R4)
+
        MOV     23564,10(R4)
MOV 23636$,20(R4)
+
        MOV     23636,20(R4)
CLC
+
151634$:CLC
BR 151646$
+
        BR     151646$
151640$:MOV 23656$,SP
+
151640$:MOV     23656,SP
SEC
+
        SEC
RETURN
+
151646$:RETURN
151650$:CALL 147662$
+
151650$:CALL   147662$
CALL 151756$
+
        CALL   151756$
MOV #-1,23636$
+
        MOV     #-1,23634
CALL 145624$
+
        CALL   145624$
MOV 23646$,R1
+
        MOV     23646,R1
MOV 23644$,R0
+
        MOV     23644,R0
CALL 176300$
+
        CALL   176300$
CALL 147706$
+
        CALL   147706$
RETURN
+
        RETURN
151714$:CALL 147662$
+
151714$:CALL   147662$
CALL 151756$
+
        CALL   151756$
CLR 23636$
+
        CLR     23634
CALL 145624$
+
        CALL   145624$
MOV 23646$,R1
+
        MOV     23646,R1
MOV 23644$,R0
+
        MOV     23644,R0
CALL 176300$
+
        CALL   176300$
CALL 147706$
+
        CALL   147706$
RETURN
+
        RETURN
151756$:MOV 23414$,23652$
+
151756$:MOV     23414,23652
INC 23652$
+
        INC     23652
MOV 23416$,23654$
+
        MOV     23416,23654
INC 23654$
+
        INC     23654
MOV 23442$,R1
+
        MOV     23442,R1
CLR 23464$
+
        CLR     23464
ROR R1
+
        ROR     R1
SBC 23464$
+
        SBC     23464
CLR 23466$
+
        CLR     23466
ROR R1
+
        ROR     R1
SBC 23466$
+
        SBC     23466
CLR 23470$
+
        CLR     23470
ROR R1
+
        ROR     R1
SBC 23470$
+
        SBC     23470
MOV 23450$,R1
+
        MOV     23450,R1
NEG R1
+
        NEG     R1
MOVB R1,177016$
+
        MOVB   R1,177016
MOV 23432$,23506$
+
        MOV     23432,23504
MOV 22664$,23474$
+
        MOV     22664,23474
MOV 23412$,23500$
+
        MOV     23412,23500
BIC #17,23500$
+
        BIC     #17,23500
MOV 23500$,23476$
+
        MOV     23500,23476
ASR 23476$
+
        ASR     23476
ASR 23476$
+
        ASR     23476
ASR 23476$
+
        ASR     23476
MOV 23476$,23502$
+
        MOV     23476,23502
ASR 23502$
+
        ASR     23502
RETURN
+
        RETURN
152144$:MOV #5322,R0
+
152144$:MOV     #5322,R0
CALL 176132$
+
        CALL   176132$
MOV R0,23644$
+
        MOV     R0,23644
MOV R1,23646$
+
        MOV     R1,23646
MOV 23644$,R1
+
        MOV     23644,R1
ASR R1
+
        ASR     R1
SUB 23476$,R1
+
        SUB     23476,R1
BLE 152456$
+
        BLE     152456$
MOV 23502$,R2
+
        MOV     23502,R2
ADD #13,R2
+
        ADD     #13,R2
CLR R3
+
        CLR     R3
BR 152216$
+
        BR     152216$
152214$:INC R3
+
152214$:INC     R3
152216$:SUB R2,R1
+
152216$:SUB     R2,R1
BGT 152214$
+
        BGT     152214$
TST R3
+
        TST     R3
BEQ 152456$
+
        BEQ     152456$
CMP R3,#31
+
        CMP     R3,#31
BLE 152240$
+
        BLE     152240$
MOV #27,R3
+
        MOV     #27,R3
152240$:MOV R3,23650$
+
152240$:MOV     R3,23650
MOV 23646$,R1
+
        MOV     23646,R1
INC R1
+
        INC     R1
BIC #1,R1
+
        BIC     #1,R1
MOV 23502$,R2
+
        MOV     23502,R2
MOV R1,23566$
+
        MOV     R1,23566
152266$:CLR (R1)+
+
152266$:CLR     (R1)+
SOB R2,152266$
+
        SOB     R2,152266$
MOV R1,23570$
+
        MOV     R1,23570
MOV 23502$,R2
+
        MOV     23502,R2
152302$:CLR (R1)+
+
152302$:CLR     (R1)+
SOB R2,152302$
+
        SOB     R2,152302$
MOV R1,-(SP)
+
        MOV     R1,-(SP)
MOV #23150$,R2
+
        MOV     #23510,R2
MOV R2,R1
+
        MOV     R2,R1
MOV R2,23506$
+
        MOV     R2,23506
MOV #11,R3
+
        MOV     #11,R3
152326$:CLR (R1)+
+
152326$:CLR     (R1)+
SOB R3,152326$
+
        SOB     R3,152326$
MOV #10000,(R1)+
+
        MOV     #10000,(R1)+
MOV #10000,(R1)+
+
        MOV     #10000,(R1)+
MOV (SP)+,R1
+
        MOV     (SP)+,R1
MOV 23650$,R5
+
        MOV     23650,R5
DEC R5
+
        DEC     R5
BEQ 152402$
+
        BEQ     152402$
152354$:MOV R1,@R2
+
152354$:MOV     R1,@R2
MOV R1,R2
+
        MOV     R1,R2
MOV #11,R3
+
        MOV     #11,R3
152364$:CLR (R1)+
+
152364$:CLR     (R1)+
SOB R3,152364$
+
        SOB     R3,152364$
MOV #100000,(R1)+
+
        MOV     #10000,(R1)+
MOV #100000,(R1)+
+
        MOV     #10000,(R1)+
SOB R5,152354$
+
        SOB     R5,152354$
152402$:MOV #23536$,R2
+
152402$:MOV     #23536,R2
MOV 23650$,R5
+
        MOV     23650,R5
152412$:MOV R1,@R2
+
152412$:MOV     R1,@R2
MOV R1,R2
+
        MOV     R1,R2
MOV 23502$,R3
+
        MOV     23502,R3
152422$:CLR (R1)+
+
152422$:CLR     (R1)+
SOB R3,152422$
+
        SOB     R3,152422$
SOB R5,152412$
+
        SOB     R5,152412$
MOV #23540$,R1
+
        MOV     #23540,R1
CLR (R1)+
+
        CLR     (R1)+
MOV #23546$,(R1)+
+
        MOV     #23546,(R1)+
CLR (R1)+
+
        CLR    (R1)+
CLR (R1)+
+
        CLR     (R1)+
MOV #23540$,@R1
+
        CLR     (R1)+
BR 152460$
+
        MOV     #23540,@R1
 +
        BR     152460$
 
152456$:SEC
 
152456$:SEC
 
152460$:RETURN
 
152460$:RETURN
.ENDT
 
 
</pre>
 
</pre>

Latest revision as of 07:44, 13 January 2008


; ******************************************************
; *                                                    *
; *    ГРАФИКА ПОЛЬЗОВАТЕЛЯ, ПРИНТЕР, ПЕЧАТЬ ЭКРАНА    *
; *                                                    *
; *               Адреса 135436 - 157777               *
; *                                                    *
; ******************************************************

; ТОЧКА ВХОДА ПРИ ИСПОЛНЕНИИ ESC-ПОСЛЕДОВАТЕЛЬНОСТИ ESC %!0 (ВХОД В ГРАФИКУ)
135436$:MOV     R5,-(SP)
        MOV     SP,R5
135442$:CALL    136274$
        TST     R0
        BNE     135442$
        JMP     136056$
; П/п установки начальных значений для п/п графического режима
135456$:MOV     R5,-(SP)
        MOV     SP,R5
        MOV     22664,R0
        ASL     R0
        ASL     R0
        ADD     #2500,R0
        ADD     #-4,R0
        MOV     R0,23432
        MOV     23432,23434
        MOV     #1200,23412
        CLR     23420
        CLR     23422
        MOV     #1,R0
        MOV     23420,R1
        BIC     #177770,R1
        MOV     R1,23440
        ASH     23440,R0
        MOV     R0,23436
        MOV     23432,R0
        MOV     23422,R1
        ASL     R1
        ASL     R1
        SUB     R1,R0
        MOV     R0,23434
        MOV     @23434,R0
        MOV     23420,R1
        ASH     #-3,R1
        MOV     R1,23426
        ADD     23426,R0
        MOV     R0,23430
        CLR     23442
        CLR     23444
        CLR     23446
        CLR     23450
        CLR     23452
        CLR     23454
        CLR     23456
        CLR     23460
        CLR     23462
        JMP     136056$
; Точка входа при вызове п/п печати экрана
135704$:MOV     R0,-(SP)
        MOV     R1,-(SP)
        CALL    140326$
        MOV     (SP)+,R1
        MOV     (SP)+,R0
        RETURN
; П/п вывода символа на принтер
135722$:MOV     R5,-(SP)
        MOV     SP,R5
        BIT     #2,177101       ; Принтер в состоянии ON-LINE ?
        BEQ     136000$         ; Нет
135736$:BIT     #200,177101     ; Бит подтверждения сброшен ?
        BNE     135736$         ; Нет
        MOV     4(R5),177100    ; Послать код символа на линию данных
        BIC     #200,177102     ; Установить сигнал строба
135762$:BIT     #200,177101     ; Получен сигнал подтверждения ?
        BEQ     135762$         ; Нет
        MOV     #200,177102     ; Сбросить сигнал строба
136000$:JMP     136056$
; П/п инициализации параллельного порта
136004$:MOV     R5,-(SP)
        MOV     SP,R5
        MOV     #174,177103
        MOV     #200,177102
        JMP     136056$

136030$:MOV     R5,R0
        MOV     SP,R5
        MOV     R4,-(SP)
        MOV     R3,-(SP)
        MOV     R2,-(SP)
        CLR     -(SP)
        JMP     @R0
136046$:MOV     R5,R2
        MOV     -(R2),R4
        MOV     -(R2),R3
        MOV     -(R2),R2
136056$:MOV     R5,SP
        MOV     (SP)+,R5
        RETURN
; Блок описания Esc-последовательностей графического режима
136064$:.WORD   136414$,111,0,136502$   ; LI
136074$:.WORD   136622$,126,136602$,120 ; MV, MP
        .WORD   136562$,115,136542$,114 ; MM, ML
        .WORD   0,136642$
136120$:.WORD   137054$,125,136706$,122 ; RU,RR
        .WORD   136700$,104,0,137064$   ; RD
136140$:.WORD   137122$,104,0,137164$   ; TD
136150$:.WORD   140140$,111,137722$,110 ; UI, UH
        .WORD   137620$,107,137442$,106 ; UG, UF
        .WORD   137432$,105,137424$,104 ; UE, UD
        .WORD   137412$,103,137334$,102 ; UC, UB
        .WORD   137222$,101,0,140174$   ; UA
136220$:.WORD   140232$,41,0,140302$    ; %!
136230$:.WORD   140202$,45,137172$,125  ; %*, U*
        .WORD   137072$,124,136650$,122 ; T*, R*
        .WORD   136512$,115,136364$,114 ; M*, L*
        .WORD   0,140310$
136264$:.WORD   136334$,33,0,140316$    ; Esc

136274$:JSR     R5,136030$
        ADD     #-6,SP
        CALL    145564$
        MOVB    R0,-7(R5)
        MOVB    -7(R5),R0
        BIC     #177400,R0
        MOV     #136264$,R1
        JMP     144650$
; П/п обработки символа Esc
136334$:CALL    145564$
        MOVB    R0,-7(R5)
        MOVB    -7(R5),R0
        BIC     #177400,R0
        MOV     #136230$,R1
        JMP     144650$
; П/п обработки Esc L
136364$:CALL    145564$
        MOVB    R0,-7(R5)
        MOVB    -7(R5),R0
        BIC     #177400,R0
        MOV     #136064$,R1
        JMP     144650$
; П/п обработки Esc LI
136414$:CALL    143756$
        MOV     23424,23456
        CALL    143756$
        MOV     23424,23460
        CALL    143756$
        MOV     23424,23462
        MOV     23462,@SP
        MOV     23460,-(SP)
        MOV     23456,-(SP)
        CALL    117026$
        CMP     (SP)+,(SP)+
        MOVB    #1,R0
        BR      136506$
136502$:MOVB    #1,R0
136506$:JMP     136046$
; П/п обработки Esc M
136512$:CALL    145564$
        MOVB    R0,-7(R5)
        MOVB    -7(R5),R0
        BIC     #177400,R0
        MOV     #136074$,R1
        JMP     144650$
; П/п обработки Esc ML
136542$:CALL    143756$
        MOV     23424,23442
        MOVB    #1,R0
        BR      136506$
; П/п обработки Esc MM
136562$:CALL    143756$
        MOV     23424,23446
        MOVB    #1,R0
        BR      136506$
; П/п обработки Esc MP
136602$:CALL    143756$
        MOV     23424,23450
        MOVB    #1,R0
        BR      136506$
; П/п обработки Esc MV
136622$:CALL    143756$
        MOV     23424,23444
        MOVB    #1,R0
        BR      136506$
136642$:MOVB    #1,R0
        BR      136506$
; П/п обработки Esc R
136650$:CALL    145564$
        MOVB    R0,-7(R5)
        MOVB    -7(R5),R0
        BIC     #177400,R0
        MOV     #136120$,R1
        JMP     144650$
; П/п обработки Esc RD
136700$:MOVB    #1,R0
        BR      136506$
; П/п обработки Esc RR
136706$:CALL    144104$
        CMP     23420,23412
        BGE     136732$
        CMP     23422,22664
        BLT     136740$
136732$:MOVB    #1,R0
        BR      136506$
136740$:MOV     23420,-12(R5)
        MOV     23422,-14(R5)
        CALL    144104$
        CMP     23420,23412
        BGE     137000$
        CMP     23422,22664
        BLT     137006$
137000$:MOVB    #1,R0
        BR      136506$
137006$:CALL    143756$
        MOV     23424,@SP
        MOV     23422,-(SP)
        MOV     23420,-(SP)
        MOV     -14(R5),-(SP)
        MOV     -12(R5),-(SP)
        CALL    144666$
        ADD     #10,SP
        MOVB    #1,R0
        BR      137060$
; П/п обработки Esc RU
137054$:MOVB    #1,R0
137060$:JMP     136046$
137064$:MOVB    #1,R0
        BR      137060$
; П/п обработки Esc T
137072$:CALL    145564$
        MOVB    R0,-7(R5)
        MOVB    -7(R5),R0
        BIC     #177400,R0
        MOV     #136140$,R1
        JMP     144650$
; П/п обработки Esc TD
137122$:CALL    143756$
        MOV     23424,23452
        CALL    143756$
        MOV     23424,23454
        MOV     23452,@SP
        CALL    117004$
        MOVB    #1,R0
        BR      137060$
137164$:MOVB    #1,R0
        BR      137060$
; П/п обработки Esc U
137172$:CALL    145564$
        MOVB    R0,-7(R5)
        MOVB    -7(R5),R0
        BIC     #177400,R0
        MOV     #136150$,R1
        JMP     144650$
; П/п обработки Esc UA
137222$:MOV     23430,177010
        TST     177024
        BNE     137236$
137236$:BIT     #4,23440
        BEQ     137254$
        MOV     177022,R0
        BR      137260$
137254$:MOV     177020,R0
137260$:MOV     R0,R1
        CLR     R0
        MOV     23440,R4
        BIC     #177774,R4
        ASL     R4
        ASL     R4
        NEG     R4
        ASHC    R4,R0
        MOV     R1,@SP
        BIC     #177760,@SP
        CALL    144304$
        MOV     #15,@SP
        CALL    145612$
        MOVB    #1,R0
        BR      137060$
; П/п обработки Esc UB
137334$:MOV     23414,23420
        MOV     23416,23422
        MOV     23422,23414
        MOV     23420,23416
        CALL    151714$
        MOV     23420,23414
        MOV     23422,23416
        MOVB    #1,R0
        BR      137060$
; П/п обработки Esc UC
137412$:CALL    151650$
        MOVB    #1,R0
        BR      137060$
; П/п обработки Esc UD
137424$:MOVB    #1,R0
        BR      137436$
; П/п обработки Esc UE
137432$:MOVB    #1,R0
137436$:JMP     136046$
; П/п обработки Esc UF
137442$:CALL    144104$
        CMP     23420,23412
        BGE     137466$
        CMP     23422,22664
        BLT     137474$
137466$:MOVB    #1,R0
        BR      137436$
137474$:MOV     #1,R0
        MOV     23420,R1
        BIC     #177770,R1
        MOV     R1,23440
        ASH     23440,R0
        MOV     R0,23436
        MOV     23432,R0
        MOV     23422,R1
        ASL     R1
        ASL     R1
        SUB     R1,R0
        MOV     R0,23434
        MOV     @23434,R0
        MOV     23420,R1
        ASH     #-3,R1
        MOV     R1,23426
        ADD     23426,R0
        MOV     R0,23430
        MOV     23420,23414
        MOV     23422,23416
        MOVB    #1,R0
        BR      137436$
; П/п обработки Esc UG
137620$:CALL    144104$
        CMP     23420,23412
        BGE     137644$
        CMP     23422,22664
        BLT     137652$
137644$:MOVB    #1,R0
        BR      137436$
137652$:MOV     23442,177016
        MOV     23430,177010
        TST     177024
        BNE     137674$
137674$:MOV     23430,177010
        MOV     23436,177024
        CALL    141330$
        MOVB    #1,R0
        BR      137436$
; П/п обработки Esc UH
137722$:CALL    144104$
        CMP     23420,23412
        BGE     137746$
        CMP     23422,22664
        BLT     137754$
137746$:MOVB    #1,R0
        BR      140134$
137754$:MOV     #1,R0
        MOV     23420,R1
        BIC     #177770,R1
        MOV     R1,23440
        ASH     23440,R0
        MOV     R0,23436
        MOV     23432,R0
        MOV     23422,R1
        ASL     R1
        ASL     R1
        SUB     R1,R0
        MOV     R0,23434
        MOV     @23434,R0
        MOV     23420,R1
        ASH     #-3,R1
        MOV     R1,23426
        ADD     23426,R0
        MOV     R0,23430
        MOV     23420,23414
        MOV     23422,23416
        MOV     23442,177016
        MOV     23430,177010
        TST     177024
        BNE     140114$
140114$:MOV     23430,177010
        MOV     23436,177024
        MOVB    #1,R0
140134$:JMP     136046$
; П/п обработки Esc UI
140140$:MOV     23416,@SP
        MOV     23414,-(SP)
        CALL    144454$
        TST     (SP)+
        MOV     #15,@SP
        CALL    145612$
        MOVB    #1,R0
        BR      140134$
140174$:MOVB    #1,R0
        BR      140134$
; П/п обработки Esc %
140202$:CALL    145564$
        MOVB    R0,-7(R5)
        MOVB    -7(R5),R0
        BIC     #177400,R0
        MOV     #136220$,R1
        JMP     144650$
; П/п обработки Esc %!
140232$:CALL    145564$
        MOVB    R0,-7(R5)
        CMPB    -7(R5),#'0
        BEQ     140274$
        MOVB    -7(R5),R0
        BIC     #177400,R0
        MOV     R0,@SP
        CALL    113574$
        CLR     R0
        BR      140134$
140274$:MOVB    #1,R0
        BR      140134$
140302$:MOVB    #1,R0
        BR      140134$
140310$:MOVB    #1,R0
        BR      140134$
140316$:MOVB    #1,R0
        BR      140134$
140324$:BR      140134$
; П/п печати экрана
140326$:JSR     R5,136030$
        ADD     #-22,SP
        BIT     #2,177101
        BEQ     140602$
        BIC     #100,177700
        MOV     #15,@SP
        CALL    135722$
        MOV     #12,@SP
        CALL    135722$
        CLR     -10(R5)
140400$:CMP     -10(R5),#79.
        BGT     140552$
        MOV     #1,-20(R5)
140416$:CMP     -20(R5),#2
        BGT     140606$
        MOV     #33,@SP
        CALL    135722$
        MOV     #52,@SP
        CALL    135722$
        MOV     #1,@SP
        CALL    135722$
        MOV     #30,@SP
        CALL    135722$
        MOV     #3,@SP
        CALL    135722$
        CLR     -12(R5)
140502$:CMP     -12(R5),#263.
        BGT     140622$
        MOV     23432,R0
        MOV     -12(R5),R1
        ASL     R1
        ASL     R1
        SUB     R1,R0
        MOV     @R0,R0
        ADD     -10(R5),R0
        MOV     R0,177010
        TST     177024
        BEQ     141004$
        BR      141004$
140552$:MOV     #33,@SP
        CALL    135722$
        MOV     #100,@SP
        CALL    135722$
        MOV     #14,@SP
        CALL    135722$
140602$:JMP     136046$
140606$:INC     -10(R5)
        BR      140400$
140614$:INC     -20(R5)
        BR      140416$
140622$:MOV     #33,@SP
        CALL    135722$
        MOV     #63,@SP
        CALL    135722$
        MOV     -20(R5),R1
        MUL     #22.,R1
        MOV     R1,@SP
        ADD     #-21.,@SP
        CALL    135722$
        MOV     #12,@SP
        CALL    135722$
        MOV     #15,@SP
        CALL    135722$
        BIT     #200,177700
        BEQ     140614$
        CMP     177702,#4
        BNE     140614$
        MOV     #33,@SP
        CALL    135722$
        MOV     #100,@SP
        CALL    135722$
        MOV     #15,@SP
        CALL    135722$
        MOV     #12,@SP
        CALL    135722$
        MTPS    #340
        BIS     #100,177700
        MTPS    #0
        BR      140602$
141004$:MOV     177020,-30(R5)
        MOV     #1,-14(R5)
141020$:CMP     -14(R5),#8.
        BGT     141246$
        MOV     -30(R5),R0
        BIC     #177760,R0
        MOV     R0,-16(R5)
        MOV     -22(R5),R0
        ASL     R0
        MOV     #153540,R1
        MOV     #1,R4
        MOV     -16(R5),R2
        ASL     R2
        SUB     R2,R4
        SUB     -20(R5),R4
        ASH     R4,R1
        BIC     #177776,R1
        BIS     R1,R0
        MOV     R0,-22(R5)
        MOV     -24(R5),R0
        ASL     R0
        MOV     #177624,R1
        MOV     #1,R4
        MOV     -16(R5),R2
        ASL     R2
        SUB     R2,R4
        SUB     -20(R5),R4
        ASH     R4,R1
        BIC     #177776,R1
        BIS     R1,R0
        MOV     R0,-24(R5)
        MOV     -26(R5),R0
        ASL     R0
        MOV     #172100,R1
        MOV     #1,R4
        MOV     -16(R5),R2
        ASL     R2
        SUB     R2,R4
        SUB     -20(R5),R4
        ASH     R4,R1
        BIC     #177776,R1
        BIS     R1,R0
        MOV     R0,-26(R5)
        CMP     -14(R5),#4
        BNE     141306$
        MOV     177022,-30(R5)
        BR      141322$
141246$:MOV     -22(R5),@SP
        CALL    135722$
        MOV     -24(R5),@SP
        CALL    135722$
        MOV     -26(R5),@SP
        CALL    135722$
        INC     -12(R5)
        JMP     140502$
141306$:MOV     -30(R5),R0
        ASH     #-4,R0
        MOV     R0,-30(R5)
141322$:INC     -14(R5)
        BR      141020$
; П/п рисования линии
141330$:MOV     R5,-(SP)
        MOV     SP,R5
        ADD     #-20,SP
        MOV     23420,R0
        SUB     23414,R0
        MOV     R0,-12(R5)
        MOV     23422,R0
        SUB     23416,R0
        MOV     R0,-14(R5)
        TST     -14(R5)
        BNE     141404$
        TST     -12(R5)
        BEQ     141560$
141404$:MOV     23420,23414
        MOV     23422,23416
        CLR     -16(R5)
        TST     -14(R5)
        BLT     141564$
        TST     -12(R5)
        BLT     141712$
        CMP     -12(R5),-14(R5)
        BGT     141454$
        JMP     142106$
141454$:MOV     -12(R5),-20(R5)
        MOV     -20(R5),-10(R5)
141470$:MOV     -10(R5),R0
        DEC     -10(R5)
        TST     R0
        BEQ     141560$
        SUB     -14(R5),-16(R5)
        MOV     23436,R0
        ASL     R0
        BIC     #177400,R0
        MOV     R0,23436
        BEQ     141536$
        JMP     142260$
141536$:MOV     #1,23436
        INC     23430
        INC     23426
        JMP     142260$
141560$:JMP     136056$
141564$:TST     -12(R5)
        BLT     141576$
        JMP     142722$
141576$:CMP     -12(R5),-14(R5)
        BLT     141612$
        JMP     143136$
141612$:MOV     -12(R5),R0
        NEG     R0
        MOV     R0,-20(R5)
        MOV     -20(R5),-10(R5)
141632$:MOV     -10(R5),R0
        DEC     -10(R5)
        TST     R0
        BEQ     141560$
        ADD     -14(R5),-16(R5)
        CLC
        ROR     23436
        BEQ     141670$
        JMP     143310$
141670$:MOV     #200,23436
        DEC     23430
        DEC     23426
        JMP     143310$
141712$:MOV     -12(R5),R0
        NEG     R0
        CMP     R0,-14(R5)
        BLT     141732$
141726$:JMP     142442$
141732$:MOV     -14(R5),-20(R5)
        MOV     -20(R5),-10(R5)
141746$:MOV     -10(R5),R0
        DEC     -10(R5)
        TST     R0
        BEQ     141560$
        ADD     -12(R5),-16(R5)
        SUB     #4,23434
        MOV     @23434,R0
        ADD     23426,R0
        MOV     R0,23430
        TST     -16(R5)
        BGE     142030$
        MOV     -16(R5),R0
        NEG     R0
        BR      142034$
142030$:MOV     -16(R5),R0
142034$:ASL     R0
        CMP     R0,-20(R5)
        BGE     142050$
        JMP     142540$
142050$:CLC
        ROR     23436
        BEQ     142064$
        JMP     142556$
142064$:MOV     #200,23436
        DEC     23430
        DEC     23426
        JMP     142556$
142106$:MOV     -14(R5),-20(R5)
        MOV     -20(R5),-10(R5)
142122$:MOV     -10(R5),R0
        DEC     -10(R5)
        TST     R0
        BEQ     141560$
        ADD     -12(R5),-16(R5)
        SUB     #4,23434
        MOV     @23434,R0
        ADD     23426,R0
        MOV     R0,23430
        TST     -16(R5)
        BGE     142204$
        MOV     -16(R5),R0
        NEG     R0
        BR      142210$
142204$:MOV     -16(R5),R0
142210$:ASL     R0
        CMP     R0,-20(R5)
        BLT     142376$
        MOV     23436,R0
        ASL     R0
        BIC     #177400,R0
        MOV     R0,23436
        BNE     142414$
        MOV     #1,23436
        INC     23430
        INC     23426
        BR      142414$
142260$:TST     -16(R5)
        BGE     142276$
        MOV     -16(R5),R0
        NEG     R0
        BR      142302$
142276$:MOV     -16(R5),R0
142302$:ASL     R0
        CMP     R0,-20(R5)
        BLT     142342$
        SUB     #4,23434
        MOV     @23434,R0
        ADD     23426,R0
        MOV     R0,23430
        ADD     -12(R5),-16(R5)
142342$:MOV     23430,177010
        TST     177024
        BNE     142356$
142356$:MOV     23430,177010
        MOV     23436,177024
        JMP     141470$
142376$:MOV     23430,177010
        TST     177024
        BEQ     142424$
        BR      142424$
142414$:SUB     -14(R5),-16(R5)
        BR      142376$
142424$:MOV     23430,177010
        MOV     23436,177024
        BR      142122$
142442$:MOV     -12(R5),R0
        NEG     R0
        MOV     R0,-20(R5)
        MOV     -20(R5),-10(R5)
142462$:MOV     -10(R5),R0
        DEC     -10(R5)
        TST     R0
        BNE     142502$
        JMP     141560$
142502$:ADD     -14(R5),-16(R5)
        CLC
        ROR     23436
        BNE     142606$
        MOV     #200,23436
        DEC     23430
        DEC     23426
        BR      142606$
142540$:MOV     23430,177010
        TST     177024
        BEQ     142566$
        BR      142566$
142556$:ADD     -14(R5),-16(R5)
        BR      142540$
142566$:MOV     23430,177010
        MOV     23436,177024
        JMP     141746$
142606$:TST     -16(R5)
        BGE     142624$
        MOV     -16(R5),R0
        NEG     R0
        BR      142630$
142624$:MOV     -16(R5),R0
142630$:ASL     R0
        CMP     R0,-20(R5)
        BLT     142670$
        SUB     #4,23434
        MOV     @23434,R0
        ADD     23426,R0
        MOV     R0,23430
        ADD     -12(R5),-16(R5)
142670$:MOV     23430,177010
        TST     177024
        BNE     142704$
142704$:MOV     23430,177010
        MOV     23436,177024
        BR      142462$
142722$:MOV     -14(R5),R0
        NEG     R0
        CMP     -12(R5),R0
        BLE     142742$
        JMP     143472$
142742$:MOV     -14(R5),R0
        NEG     R0
        MOV     R0,-20(R5)
        MOV     -20(R5),-10(R5)
142762$:MOV     -10(R5),R0
        DEC     -10(R5)
        TST     R0
        BNE     143002$
        JMP     141560$
143002$:SUB     -12(R5),-16(R5)
        ADD     #4,23434
        MOV     @23434,R0
        ADD     23426,R0
        MOV     R0,23430
        TST     -16(R5)
        BGE     143050$
        MOV     -16(R5),R0
        NEG     R0
        BR      143054$
143050$:MOV     -16(R5),R0
143054$:ASL     R0
        CMP     R0,-20(R5)
        BGE     143070$
        JMP     143574$
143070$:MOV     23436,R0
        ASL     R0
        BIC     #177400,R0
        MOV     R0,23436
        BEQ     143114$
        JMP     143612$
143114$:MOV     #1,23436
        INC     23430
        INC     23426
        JMP     143612$
143136$:MOV     -14(R5),R0
        NEG     R0
        MOV     R0,-20(R5)
        MOV     -20(R5),-10(R5)
143156$:MOV     -10(R5),R0
        DEC     -10(R5)
        TST     R0
        BNE     143176$
        JMP     141560$
143176$:SUB     -12(R5),-16(R5)
        ADD     #4,23434
        MOV     @23434,R0
        ADD     23426,R0
        MOV     R0,23430
        TST     -16(R5)
        BGE     143244$
        MOV     -16(R5),R0
        NEG     R0
        BR      143250$
143244$:MOV     -16(R5),R0
143250$:ASL     R0
        CMP     R0,-20(R5)
        BLT     143426$
        CLC
        ROR     23436
        BNE     143444$
        MOV     #200,23436
        DEC     23430
        DEC     23426
        BR      143444$
143310$:TST     -16(R5)
        BGE     143326$
        MOV     -16(R5),R0
        NEG     R0
        BR      143332$
143326$:MOV     -16(R5),R0
143332$:ASL     R0
        CMP     R0,-20(R5)
        BLT     143372$
        ADD     #4,23434
        MOV     @23434,R0
        ADD     23426,R0
        MOV     R0,23430
        SUB     -12(R5),-16(R5)
143372$:MOV     23430,177010
        TST     177024
        BNE     143406$
143406$:MOV     23430,177010
        MOV     23436,177024
        JMP     141632$
143426$:MOV     23430,177010
        TST     177024
        BEQ     143454$
        BR      143454$
143444$:ADD     -14(R5),-16(R5)
        BR      143426$
143454$:MOV     23430,177010
        MOV     23436,177024
        BR      143156$
143472$:MOV     -12(R5),-20(R5)
        MOV     -20(R5),-10(R5)
143506$:MOV     -10(R5),R0
        DEC     -10(R5)
        TST     R0
        BNE     143526$
        JMP     141560$
143526$:SUB     -14(R5),-16(R5)
        MOV     23436,R0
        ASL     R0
        BIC     #177400,R0
        MOV     R0,23436
        BNE     143642$
        MOV     #1,23436
        INC     23430
        INC     23426
        BR      143642$
143574$:MOV     23430,177010
        TST     177024
        BEQ     143622$
        BR      143622$
143612$:SUB     -14(R5),-16(R5)
        BR      143574$
143622$:MOV     23430,177010
        MOV     23436,177024
        JMP     142762$
143642$:TST     -16(R5)
        BGE     143660$
        MOV     -16(R5),R0
        NEG     R0
        BR      143664$
143660$:MOV     -16(R5),R0
143664$:ASL     R0
        CMP     R0,-20(R5)
        BLT     143724$
        ADD     #4,23434
        MOV     @23434,R0
        ADD     23426,R0
        MOV     R0,23430
        SUB     -12(R5),-16(R5)
143724$:MOV     23430,177010
        TST     177024
        BNE     143740$
143740$:MOV     23430,177010
        MOV     23436,177024
        BR      143506$
; П/п приема трех символов и перевода их в целое число
143756$:MOV     R5,-(SP)
        MOV     SP,R5
        ADD     #-10,SP
        CALL    145564$
        ASH     #6,R0
        MOV     R0,23424
        CALL    145564$
        BIC     #177700,R0
        BIS     23424,R0
        ASH     #4,R0
        MOV     R0,23424
        CALL    145564$
        MOV     R0,-10(R5)
        MOV     -10(R5),R0
        BIC     #177760,R0
        BIS     23424,R0
        MOV     R0,23424
        BIT     #20,-10(R5)
        BNE     144100$
        MOV     23424,R0
        NEG     R0
        MOV     R0,23424
144100$:JMP     136056$
; П/п приема пяти символов и перевода их в два целых числа
144104$:MOV     R5,-(SP)
        MOV     SP,R5
        ADD     #-10,SP
        CALL    145564$
        BIC     #177740,R0
        ASH     #5,R0
        MOV     R0,23422
        CALL    145564$
        MOV     R0,-10(R5)
        CALL    145564$
        BIC     #177740,R0
        BIS     23422,R0
        ASL     R0
        ASL     R0
        MOV     R0,23422
        CALL    145564$
        BIC     #177740,R0
        ASH     #5,R0
        MOV     R0,23420
        CALL    145564$
        BIC     #177740,R0
        BIS     23420,R0
        ASL     R0
        ASL     R0
        MOV     R0,23420
        MOV     -10(R5),R0
        ASR     R0
        ASR     R0
        BIC     #177774,R0
        BIS     23422,R0
        MOV     R0,23422
        MOV     -10(R5),R0
        BIC     #177774,R0
        BIS     23420,R0
        MOV     R0,23420
        JMP     136056$
; П/п преобразования целого числа в три символа и их вывод
144304$:MOV     R5,-(SP)
        MOV     SP,R5
        ADD     #-12,SP
        TST     4(R5)
        BGE     144342$
        MOV     4(R5),R0
        NEG     R0
        MOV     R0,4(R5)
        CLR     -10(R5)
        BR      144350$
144342$:MOV     #20,-10(R5)
144350$:MOV     4(R5),R0
        ASH     #-12,R0
        MOV     R0,@SP
        BIC     #177700,@SP
        BIS     #100,@SP
        CALL    145612$
        MOV     4(R5),R0
        ASH     #-4,R0
        MOV     R0,@SP
        BIC     #177700,@SP
        BIS     #100,@SP
        CALL    145612$
        MOV     4(R5),@SP
        BIC     #177760,@SP
        BIS     -10(R5),@SP
        BIS     #40,@SP
        CALL    145612$
        JMP     136056$
; П/п преобразования двух целых чисел в пять символов и их вывод
144454$:MOV     R5,-(SP)
        MOV     SP,R5
        TST     -(SP)
        MOV     6(R5),R0
        ASH     #-7,R0
        MOV     R0,@SP
        BIC     #177740,@SP
        BIS     #40,@SP
        CALL    145612$
        MOV     4(R5),@SP
        BIC     #177774,@SP
        MOV     6(R5),R0
        BIC     #177774,R0
        ASL     R0
        ASL     R0
        BIS     R0,@SP
        BIS     #140,@SP
        CALL    145612$
        MOV     6(R5),@SP
        ASR     @SP
        ASR     @SP
        BIC     #177740,@SP
        BIS     #140,@SP
        CALL    145612$
        MOV     4(R5),R0
        ASH     #-7,R0
        MOV     R0,@SP
        BIC     #177740,@SP
        BIS     #40,@SP
        CALL    145612$
        MOV     4(R5),@SP
        ASR     @SP
        ASR     @SP
        BIC     #177740,@SP
        BIS     #100,@SP
        CALL    145612$
        JMP     136056$

144650$:TST     (R1)+
        BEQ     144664$
        CMP     R0,(R1)+
        BNE     144650$
        JMP     @-4(R1)
144664$:JMP     @(R1)+
; П/п закраски прямоугольной области
144666$:MOV     R5,-(SP)
        MOV     SP,R5
        ADD     #-22,SP
        MOV     #1,R0
        MOV     10(R5),R1
        BIC     #177770,R1
        MOV     R1,23440
        ASH     23440,R0
        MOV     R0,23436
        MOV     23432,R0
        MOV     12(R5),R1
        ASL     R1
        ASL     R1
        SUB     R1,R0
        MOV     R0,23434
        MOV     @23434,R0
        MOV     10(R5),R1
        ASH     #-3,R1
        MOV     R1,23426
        ADD     23426,R0
        MOV     R0,23430
        MOV     23426,-14(R5)
        MOV     23434,-22(R5)
        MOV     #100000,R0
        MOV     23440,R1
        ADD     #-16,R1
        ASH     R1,R0
        COM     R0
        MOV     R0,-12(R5)
        MOV     #1,R0
        MOV     4(R5),R1
        BIC     #177770,R1
        MOV     R1,23440
        ASH     23440,R0
        MOV     R0,23436
        MOV     23432,R0
        MOV     6(R5),R1
        ASL     R1
        ASL     R1
        SUB     R1,R0
        MOV     R0,23434
        MOV     @23434,R0
        MOV     4(R5),R1
        ASH     #-3,R1
        MOV     R1,23426
        ADD     23426,R0
        MOV     R0,23430
        MOV     #100000,R0
        MOV     23440,R1
        ADD     #-17,R1
        ASH     R1,R0
        MOV     R0,-10(R5)
        MOV     -14(R5),R0
        SUB     23426,R0
        MOV     R0,-20(R5)
        MOV     23430,R0
        ADD     -20(R5),R0
        MOV     R0,-16(R5)
        TST     -20(R5)
        BNE     145234$
        MOV     -12(R5),R0
        COM     R0
        BIC     R0,-10(R5)
145234$:MOV     14(R5),177016
145242$:CMP     23434,-22(R5)
        BLO     145270$
        MOV     23430,177010
        TST     177024
        BEQ     145376$
        BR      145376$
145270$:MOV     #1,R0
        MOV     23414,R1
        BIC     #177770,R1
        MOV     R1,23440
        ASH     23440,R0
        MOV     R0,23436
        MOV     23432,R0
        MOV     23416,R1
        ASL     R1
        ASL     R1
        SUB     R1,R0
        MOV     R0,23434
        MOV     @23434,R0
        MOV     23414,R1
        ASH     #-3,R1
        MOV     R1,23426
        ADD     23426,R0
        MOV     R0,23430
        JMP     136056$
145376$:MOV     23430,177010
        MOV     -10(R5),177024
        TST     -20(R5)
        BEQ     145452$
145420$:INC     23430
        CMP     23430,-16(R5)
        BHIS    145512$
        MOV     23430,177010
        TST     177024
        BEQ     145530$
        BR      145530$
145452$:SUB     #4,23434
        MOV     @23434,R0
        ADD     23426,R0
        MOV     R0,23430
        MOV     23430,R0
        ADD     -20(R5),R0
        MOV     R0,-16(R5)
        BR      145242$
145512$:MOV     23430,177010
        TST     177024
        BEQ     145546$
        BR      145546$
145530$:MOV     23430,177010
        MOV     #377,177024
        BR      145420$
145546$:MOV     23430,177010
        MOV     -12(R5),177024
        BR      145452$
; П/п приема символа
145564$:MOV     R5,-(SP)
        MOV     R4,-(SP)
        MOV     R3,-(SP)
        MOV     R2,-(SP)
        CALL    110762$
        MOV     (SP)+,R2
        MOV     (SP)+,R3
        MOV     (SP)+,R4
        MOV     (SP)+,R5
        RETURN
; П/п вывода символа
145612$:MOV     2(SP),R0
        CALL    104160$
        RETURN
; Все остальные п/п относятся к обработке последовательностей Esc UB и Esc UC
145624$:MOV     SP,23602
        CALL    152144$
        BHIS    145642$
        JMP     145716$
145642$:CALL    151000$
        BLO     145732$
145650$:MOV     #23540,R1
        CMP     2(R1),#23546
        BEQ     145732$
        CALL    145734$
        BLO     145676$
        CALL    146010$
145676$:MOV     #23546,R1
        CALL    145762$
        BLO     145650$
        CALL    146104$
        BR      145650$
145716$:MOV     23602,SP
        MOV     #1,R0
        BR      145732$
        CLR     R0
145732$:RETURN
145734$:MOV     2(R1),R1
        TST     @R1
        BEQ     145756$
        MOV     6(R1),23564
        BEQ     145734$
        BR      145760$
145756$:SEC
145760$:RETURN
145762$:MOV     4(R1),R1
        TST     @R1
        BEQ     146004$
        MOV     10(R1),23564
        BEQ     145762$
        BR      146006$
146004$:SEC
146006$:RETURN
146010$:MOV     0(R1),23560
        MOV     #1,23572
        MOV     23474,23574
        INC     23574
        MOV     #0,23576
        MOV     #2,23600
        MOV     #-2,23606
        MOV     #2,23610
        MOV     R1,23554
        ADD     #2,R1
        CALL    146200$
        RETURN
146104$:MOV     0(R1),23560
        MOV     #-1,23572
        MOV     #0,23574
        MOV     23474,23576
        INC     23576
        MOV     #-2,23600
        MOV     #-4,23606
        MOV     #4,23610
        MOV     R1,23554
        ADD     #4,R1
        CALL    146200$
        RETURN
146200$:MOV     23564,R2
        MOV     23566,R3
        MOV     23502,R5
146214$:MOV     (R2)+,(R3)+
        SOB     R5,146214$
        MOV     20(R1),23616
        MOV     10(R1),23620
        MOV     14(R1),23562
        MOV     23570,R0
        MOV     23502,R5
146252$:CLR     (R0)+
        SOB     R5,146252$
        MOV     10(R1),R5
        MOV     20(R1),R0
        SUB     R0,R5
        ASR     R5
        INC     R5
        MOV     23570,R2
        ADD     R0,R2
        ADD     23562,R0
        MOV     R2,-(SP)
        MOV     R0,-(SP)
146312$:CALL    147760$
        BIS     R4,(R2)+
        ADD     #2,R0
        SOB     R5,146312$
        MOV     10(R1),R5
        ADD     23564,R5
        MOV     @R5,R5
        CALL    150136$
        BIT     #100000,R5
        BEQ     146412$
        MOV     23476,R5
        SUB     10(R1),R5
        ASR     R5
        DEC     R5
        BEQ     146412$
146370$:CALL    147760$
        BIS     R4,(R2)+
        CMP     #-1,R4
        BNE     146412$
        ADD     #2,R0
        SOB     R5,146370$
146412$:MOV     (SP)+,R0
        MOV     (SP)+,R2
        MOV     @R2,R4
        MOV     20(R1),R5
        ADD     23564,R5
        MOV     @R5,R5
        CALL    150136$
        BIT     #1,R5
        BEQ     146476$
        MOV     20(R1),R5
        BEQ     146476$
        ASR     R5
146454$:SUB     #2,R0
        CALL    147760$
        BIS     R4,-(R2)
        CMP     #-1,R4
        BNE     146476$
        SOB     R5,146454$
146476$:MOV     #23604,R5
        CALL    150246$
        MOV     23604,R0
        MOV     23570,R3
        MOV     20(R1),R2
        ADD     R2,R0
        ADD     R2,R3
        ADD     23564,R2
        MOV     10(R1),R5
        SUB     20(R1),R5
        ASR     R5
        INC     R5
        MOV     R5,-(SP)
        BR      146556$
146552$:BIS     #1,@R2
146556$:MOV     R5,-(SP)
        MOV     (R2)+,R5
        MOV     (R3)+,R4
        CALL    150136$
        BIS     R5,(R0)+
        MOV     (SP)+,R5
        BIT     #100000,R4
        BNE     146606$
        SOB     R5,146556$
        BR      146674$
146606$:SOB     R5,146552$
        MOV     R0,-(SP)
        MOV     R2,-(SP)
        MOV     R3,-(SP)
        MOV     23476,R5
        SUB     10(R1),R5
        ASR     R5
        DEC     R5
        BEQ     146666$
146634$:MOV     R5,-(SP)
        BIS     #1,@R2
        MOV     (R2)+,R5
        MOV     (R3)+,R4
        CALL    150136$
        BIS     R5,(R0)+
        MOV     (SP)+,R5
        BIT     #100000,R4
        BEQ     146666$
        SOB     R5,146634$
146666$:MOV     (SP)+,R3
        MOV     (SP)+,R2
        MOV     (SP)+,R0
146674$:MOV     (SP)+,R5
        BR      146706$
146700$:BIS     #100000,-2(R2)
146706$:MOV     R5,-(SP)
        MOV     -(R2),R5
        MOV     -(R3),R4
        CALL    150136$
        BIS     R5,-(R0)
        MOV     (SP)+,R5
        BIT     #1,R4
        BNE     146736$
        SOB     R5,146706$
        BR      147002$
146736$:SOB     R5,146700$
        TST     20(R1)
        BEQ     147002$
        MOV     @R0,R4
146750$:BIT     #1,R4
        BEQ     147002$
        BIS     #100000,-(R2)
        MOV     @R2,R5
        MOV     -(R3),R4
        CALL    150136$
        BIS     R5,-(R0)
        CMP     R0,23604
        BHI     146750$
147002$:MOV     23604,R0
        MOV     23570,R3
        MOV     23502,R5
147016$:MOV     (R0)+,(R3)+
        SOB     R5,147016$
        MOV     23604,R5
        CALL    150470$
        BHIS    147050$
        MOV     23536,@R5
        MOV     R5,23536
        JMP     147644$
147050$:CALL    150716$
        MOV     23560,R3
        ADD     23572,R3
        CMP     R3,23574
        BEQ     147426$
        CALL    147732$
        CALL    150576$
        MOV     R4,23556
        ADD     23610,R4
        MOV     23636,14(R4)
        ADD     23630,14(R4)
        MOV     4(R4),R3
        BNE     147160$
        MOV     23604,4(R4)
        MOV     23612,20(R4)
        MOV     23614,10(R4)
        BR      147240$
147160$:MOV     23502,R5
        MOV     23604,R0
147170$:BIS     (R0)+,(R3)+
        SOB     R5,147170$
        CMP     23612,20(R4)
        BGE     147212$
        MOV     23612,20(R4)
147212$:CMP     23614,10(R4)
        BLE     147230$
        MOV     23614,10(R4)
147230$:MOV     23604,R5
        CALL    150300$
147240$:MOV     R4,-(SP)
        MOV     R1,-(SP)
        MOV     23612,-(SP)
        MOV     23614,-(SP)
        MOV     R4,R1
        ADD     23600,R1
        MOV     4(R1),R2
        BEQ     147412$
        MOV     4(R4),R3
        MOV     23502,R5
        MOV     R2,-(SP)
        MOV     R3,-(SP)
147304$:MOV     @R2,R0
        BIC     @R3,(R2)+
        BIC     R0,(R3)+
        SOB     R5,147304$
        MOV     (SP)+,R3
        MOV     (SP)+,R2
        MOV     23556,23640
        MOV     R2,R5
        CALL    150470$
        BCC     147344$
        CALL    150332$
        BR      147360$
147344$:MOV     23612,20(R1)
        MOV     23614,10(R1)
147360$:MOV     R3,R5
        CALL    150470$
        BCC     147376$
        CALL    150332$
        BR      147412$
147376$:MOV     23612,20(R4)
        MOV     23614,10(R4)
147412$:MOV     (SP)+,23614
        MOV     (SP)+,23612
        MOV     (SP)+,R1
        MOV     (SP)+,R4
147426$:SUB     23572,23560
        CMP     23560,23576
        BEQ     147644$
        MOV     23566,R0
        MOV     23570,R3
        MOV     23502,R5
147460$:BIC     (R0)+,(R3)+
        SOB     R5,147460$
        MOV     23570,R5
        CALL    150470$
        BCS     147644$
        MOV     23560,R3
        CALL    147732$
        CALL    150576$
        ADD     23610,R4
        ADD     23600,R4
        MOV     23636,14(R4)
        MOV     4(R4),R3
        BNE     147554$
        MOV     R4,R5
        ADD     #4,R5
        CALL    150246$
        MOV     4(R4),R3
147554$:MOV     23614,R5
        SUB     23612,R5
        ASR     R5
        INC     R5
        MOV     23570,R2
        ADD     23612,R2
        ADD     23612,R3
147604$:BIS     (R2)+,(R3)+
        SOB     R5,147604$
        CMP     23612,20(R4)
        BGE     147626$
        MOV     23612,20(R4)
147626$:CMP     23614,10(R4)
        BLE     147644$
        MOV     23614,10(R4)
147644$:MOV     R1,R5
        MOV     23554,23640
        CALL    150332$
        RETURN
147662$:MOV     (SP)+,23642
        MOV     R1,-(SP)
        MOV     R2,-(SP)
        MOV     R3,-(SP)
        MOV     R4,-(SP)
        MOV     R5,-(SP)
        MOV     23642,-(SP)
        RETURN
147706$:MOV     (SP)+,23642
        MOV     (SP)+,R5
        MOV     (SP)+,R4
        MOV     (SP)+,R3
        MOV     (SP)+,R2
        MOV     (SP)+,R1
        MOV     23642,-(SP)
        RETURN
147732$:MOV     R3,-(SP)
        DEC     R3
        NEG     R3
        ASL     R3
        ASL     R3
        ADD     23504,R3
        MOV     @R3,23636
        MOV     (SP)+,R3
        RETURN
147760$:MOV     R3,-(SP)
        MOV     R5,-(SP)
        CLR     R4
        DEC     R4
        MOV     R0,177010
        MOVB    177012,R5
        MOV     23464,R3
        XOR     R3,R5
        BICB    R5,R4
        MOVB    177014,R5
        MOV     23466,R3
        XOR     R3,R5
        BICB    R5,R4
        MOVB    177015,R5
        MOV     23470,R3
        XOR     R3,R5
        BICB    R5,R4
        INC     R0
        SWAB    R4
        MOV     R0,177010
        MOVB    177012,R5
        MOV     23464,R3
        XOR     R3,R5
        BICB    R5,R4
        MOVB    177014,R5
        MOV     23466,R3
        XOR     R3,R5
        BICB    R5,R4
        MOVB    177015,R5
        MOV     23470,R3
        XOR     R3,R5
        BICB    R5,R4
        SWAB    R4
        TST     23634
        BNE     150126$
        COM     R4
150126$:DEC     R0
        MOV     (SP)+,R5
        MOV     (SP)+,R3
        RETURN
150136$:TST     R5
        BEQ     150234$
        COM     R4
        BEQ     150240$
        BIC     R4,R5
        BEQ     150234$
        MOV     R0,-(SP)
        MOV     R1,-(SP)
        MOV     R4,-(SP)
        COM     R4
        CLR     R0
150164$:MOV     R4,R1
        DEC     R1
        XOR     R4,R1
        BIS     R1,R4
        MOV     R4,R1
        INC     R1
        XOR     R4,R1
        BLT     150210$
        CLC
        ROR     R1
150210$:BIC     R0,R1
        BIS     R1,R0
        BIT     R1,R5
        BEQ     150222$
        BIS     R1,R5
150222$:BIC     R0,R4
        BNE     150164$
        BIC     (SP)+,R5
        MOV     (SP)+,R1
        MOV     (SP)+,R0
150234$:MOV     R5,R4
        RETURN
150240$:COM     R4
        MOV     R4,R5
        RETURN
150246$:MOV     23536,@R5
        BNE     150260$
        JMP     145716$
150260$:MOV     @23536,23536
        MOV     R5,-(SP)
        MOV     @R5,R5
        CLR     @R5
        MOV     (SP)+,R5
        RETURN
150300$:MOV     R3,-(SP)
        MOV     23476,R3
        ADD     R3,R5
        ASR     R3
150312$:CLR     -(R5)
        SOB     R3,150312$
        MOV     23536,@R5
        MOV     R5,23536
        MOV     (SP)+,R3
        RETURN
150332$:MOV     R5,-(SP)
        MOV     4(R5),R4
        BEQ     150372$
        MOV     R5,-(SP)
        MOV     R4,R5
        CALL    150300$
        MOV     (SP)+,R5
        CLR     4(R5)
        MOV     #10000,20(R5)
        CLR     10(R5)
150372$:MOV     23640,R5
        TST     6(R5)
        BNE     150464$
        TST     10(R5)
        BNE     150464$
        MOV     R2,-(SP)
        MOV     R3,-(SP)
        MOV     2(R5),R2
        MOV     4(R5),R3
        MOV     R3,4(R2)
        MOV     R2,2(R3)
        CLR     2(R5)
        CLR     4(R5)
        MOV     (SP)+,R3
        MOV     (SP)+,R2
        MOV     23506,0(R5)
        MOV     R5,23506
150464$:MOV     (SP)+,R5
        RETURN
150470$:MOV     R5,-(SP)
        MOV     R2,-(SP)
        MOV     R3,-(SP)
        MOV     R5,R2
        MOV     23502,R3
150504$:TST     (R2)+
        BNE     150524$
        SOB     R3,150504$
        MOV     (SP)+,R3
        MOV     (SP)+,R2
        MOV     (SP)+,R5
        SEC
        RETURN
150524$:SUB     #2,R2
        MOV     R2,23612
        MOV     23476,R3
        ADD     R3,R5
        ASR     R3
150544$:TST     -(R5)
        BNE     150552$
        SOB     R3,150544$
150552$:MOV     R5,23614
        MOV     (SP)+,R3
        MOV     (SP)+,R2
        MOV     (SP)+,R5
        SUB     R5,23612
        SUB     R5,23614
        RETURN
150576$:MOV     R2,-(SP)
        MOV     R3,-(SP)
        MOV     R5,-(SP)
        MOV     #23540,R4
150610$:MOV     2(R4),R5
        TST     @R5
        BEQ     150634$
        CMP     0(R5),R3
        BGT     150634$
        BEQ     150704$
        MOV     R5,R4
        BR      150610$
150634$:MOV     23506,R2
        BNE     150646$
        JMP     145716$
150646$:MOV     @R2,23506
        MOV     R3,0(R2)
        MOV     2(R4),2(R2)
        MOV     R2,2(R4)
        MOV     4(R5),4(R2)
        MOV     R2,4(R5)
        MOV     R2,R5
150704$:MOV     R5,R4
        MOV     (SP)+,R5
        MOV     (SP)+,R3
        MOV     (SP)+,R2
        RETURN
150716$:MOV     R2,-(SP)
        MOV     R3,-(SP)
        MOV     R5,-(SP)
        MOV     23612,R2
        MOV     23614,R5
        SUB     R2,R5
        ADD     #2,R5
        MOV     R2,R3
        ADD     23604,R3
        ADD     14(R1),R2
150754$:MOV     R2,177010
        MOVB    (R3)+,177024
        INC     R2
        SOB     R5,150754$
        MOV     (SP)+,R5
        MOV     (SP)+,R3
        MOV     (SP)+,R2
        RETURN
151000$:MOV     23652,R3
        CALL    150576$
        MOV     R4,23624
        MOV     #23604,R5
        CALL    150246$
        MOV     23604,6(R4)
        MOV     R3,0(R4)
        MOV     R3,23626
        MOV     23654,R0
        DEC     R0
        MOV     R0,R1
        MOV     #3,R3
151056$:CLC
        ROR     R1
        SOB     R3,151056$
        BIC     #1,R1
        MOV     R1,22(R4)
        MOV     R1,12(R4)
        ADD     R1,23604
        MOV     0(R4),R3
        CALL    147732$
        MOV     23636,16(R4)
        MOV     23636,23562
        MOV     #1,R2
        BIC     #177760,R0
        BEQ     151150$
151142$:CLC
        ROL     R2
        SOB     R0,151142$
151150$:MOV     R2,@23604
        MOV     R2,23622
        CALL    151166$
        RETURN
151166$:MOV     SP,23656
        MOV     23624,R1
        MOV     22(R1),R0
        MOV     R0,23616
        MOV     R0,23620
        MOV     6(R1),R2
        ADD     R0,R2
        ADD     23562,R0
        MOV     R0,-(SP)
        MOV     R2,-(SP)
        MOV     R3,-(SP)
        CALL    147760$
        TST     R4
        BNE     151246$
        JMP     151640$
151246$:MOV     23622,R5
        CALL    150136$
        TST     R4
        BNE     151266$
        JMP     151640$
151266$:MOV     R4,(R2)+
        ADD     #2,R0
        BIT     #100000,R4
        BEQ     151374$
        MOV     23476,R5
        SUB     23616,R5
        ASR     R5
        DEC     R5
        BEQ     151374$
151320$:CALL    147760$
        CMP     R4,#-1
        BNE     151352$
        MOV     R4,(R2)+
        ADD     #2,R0
        ADD     #2,23620
        SOB     R5,151320$
        BR      151374$
151352$:MOV     #1,R5
        CALL    150136$
        MOV     R4,(R2)+
        BEQ     151374$
        ADD     #2,23620
151374$:MOV     (SP)+,R3
        MOV     (SP)+,R2
        MOV     (SP)+,R0
        BIT     #1,@R2
        BEQ     151474$
        MOV     23616,R5
        ASR     R5
        BEQ     151474$
151420$:SUB     #2,R0
        CALL    147760$
        CMP     R4,#-1
        BNE     151452$
        MOV     R4,-(R2)
151440$:SUB     #2,23616
        SOB     R5,151420$
        BR      151474$
151452$:MOV     #100000,R5
        CALL    150136$
        MOV     R4,-(R2)
        BEQ     151474$
        SUB     #2,23616
151474$:MOV     23616,22(R1)
        MOV     23620,12(R1)
        MOV     0(R1),R3
        DEC     R3
        BLE     151634$
        CALL    147732$
        CALL    150576$
        MOV     R3,0(R4)
        MOV     #23564,R5
        CALL    150246$
        MOV     12(R1),R5
        SUB     22(R1),R5
        ASR     R5
        INC     R5
        MOV     6(R1),R2
        MOV     23564,R3
        ADD     22(R1),R2
        ADD     22(R1),R3
151600$:MOV     (R2)+,(R3)+
        SOB     R5,151600$
        MOV     22(R1),24(R4)
        MOV     12(R1),14(R4)
        MOV     23564,10(R4)
        MOV     23636,20(R4)
151634$:CLC
        BR      151646$
151640$:MOV     23656,SP
        SEC
151646$:RETURN
151650$:CALL    147662$
        CALL    151756$
        MOV     #-1,23634
        CALL    145624$
        MOV     23646,R1
        MOV     23644,R0
        CALL    176300$
        CALL    147706$
        RETURN
151714$:CALL    147662$
        CALL    151756$
        CLR     23634
        CALL    145624$
        MOV     23646,R1
        MOV     23644,R0
        CALL    176300$
        CALL    147706$
        RETURN
151756$:MOV     23414,23652
        INC     23652
        MOV     23416,23654
        INC     23654
        MOV     23442,R1
        CLR     23464
        ROR     R1
        SBC     23464
        CLR     23466
        ROR     R1
        SBC     23466
        CLR     23470
        ROR     R1
        SBC     23470
        MOV     23450,R1
        NEG     R1
        MOVB    R1,177016
        MOV     23432,23504
        MOV     22664,23474
        MOV     23412,23500
        BIC     #17,23500
        MOV     23500,23476
        ASR     23476
        ASR     23476
        ASR     23476
        MOV     23476,23502
        ASR     23502
        RETURN
152144$:MOV     #5322,R0
        CALL    176132$
        MOV     R0,23644
        MOV     R1,23646
        MOV     23644,R1
        ASR     R1
        SUB     23476,R1
        BLE     152456$
        MOV     23502,R2
        ADD     #13,R2
        CLR     R3
        BR      152216$
152214$:INC     R3
152216$:SUB     R2,R1
        BGT     152214$
        TST     R3
        BEQ     152456$
        CMP     R3,#31
        BLE     152240$
        MOV     #27,R3
152240$:MOV     R3,23650
        MOV     23646,R1
        INC     R1
        BIC     #1,R1
        MOV     23502,R2
        MOV     R1,23566
152266$:CLR     (R1)+
        SOB     R2,152266$
        MOV     R1,23570
        MOV     23502,R2
152302$:CLR     (R1)+
        SOB     R2,152302$
        MOV     R1,-(SP)
        MOV     #23510,R2
        MOV     R2,R1
        MOV     R2,23506
        MOV     #11,R3
152326$:CLR     (R1)+
        SOB     R3,152326$
        MOV     #10000,(R1)+
        MOV     #10000,(R1)+
        MOV     (SP)+,R1
        MOV     23650,R5
        DEC     R5
        BEQ     152402$
152354$:MOV     R1,@R2
        MOV     R1,R2
        MOV     #11,R3
152364$:CLR     (R1)+
        SOB     R3,152364$
        MOV     #10000,(R1)+
        MOV     #10000,(R1)+
        SOB     R5,152354$
152402$:MOV     #23536,R2
        MOV     23650,R5
152412$:MOV     R1,@R2
        MOV     R1,R2
        MOV     23502,R3
152422$:CLR     (R1)+
        SOB     R3,152422$
        SOB     R5,152412$
        MOV     #23540,R1
        CLR     (R1)+
        MOV     #23546,(R1)+
        CLR     (R1)+
        CLR     (R1)+
        CLR     (R1)+
        MOV     #23540,@R1
        BR      152460$
152456$:SEC
152460$:RETURN