Пример использования КОИ-8 шрифтов на VT2xx терминалах.
Для простоты прога использует многотерминальный функционал который заведомо позволяет печатать 8бит символы без правки монитора.
Код:
.TITLE VT2XXR
.IDENT /V01.00/
UNIT = 8.
M.TST2 = 2
WPALL$ = 100000
ESC = 33
.MCALL .EXIT,.MTATCH,.MTGET,.MTSET,.MTPRNT
START:: .MTATCH #AREA,#0,#UNIT
.MTGET #AREA,#STAT,#UNIT
MOV STAT+M.TST2,-(SP)
BIS #WPALL$,STAT+M.TST2
.MTSET #AREA,#STAT,#UNIT
.MTPRNT #AREA,#VTLD,#UNIT
MOV #CHRS,R1
MOV #200,R2
CALL PRINT
BIS #40,R2
CALL PRINT
CLR R0
SOB R0,.
MOV (SP)+,STAT+M.TST2
.MTSET #AREA,#STAT,#UNIT
.EXIT
PRINT: MOV R1,-(SP)
10$: TSTB @R1
BEQ 20$
BISB R2,(R1)+
BR 10$
20$: MOV (SP)+,R1
.MTPRNT #AREA,R1,#UNIT
RETURN
AREA: .BLKW 3
STAT: .BLKW 4
CHRS: .ASCIZ /@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_/
VTLD: .ASCII <ESC>/[62;0"P/
.ASCII <ESC>/ F/
.ASCII <ESC>/P0;0;1;4;1;1{U/
.ASCII "???????/???????;???}???/???A???;"
.ASCII "?M??M??/???????;g}gg}g?/?B??B??;"
.ASCII "GSS}SS_/?@@B@@?;CIcOGcA/A@??@A@;"
.ASCII "kQQQk?_/@AAAA@A;??GEA??/???????;"
.ASCII "?wCA???/??@A???;???ACw?/???A@??;"
.ASCII "OSwOwSO/?@???@?;OOO{OOO/???@???;"
.ASCII "???????/?CB@???;OOOOOOO/???????;"
.ASCII "???????/??BB???;??_OGCA/A@?????;"
.ASCII "wCAAACw/?@AAA@?;?GC}???/?AABAA?;"
.ASCII "CaaQQQK/BAAAAAA;AAAQYUa/@AAAAA@;"
.ASCII "_ogca}_/?????B?;]IIIIIq/@AAAAA@;"
.ASCII "wcQQQQc/@AAAAA@;AAAaQIE/??B????;"
.ASCII "kQQQQQk/@AAAAA@;KQQQQQ{/?AAAAA@;"
.ASCII "??KK???/??BB???;??KK???/?CB@???;"
.ASCII "O?g?C?A/????@?A;ggggggg/???????;"
.ASCII "A?C?g?O/A?@????;CAAqIIC/???A???;"
.ASCII "w_oGGGo/B?@AAA@;?ggggo?/@AAAA@A;"
.ASCII "_QUYYQa/@AAAAA@;w????w?/@AAA@@E;"
.ASCII "cQQQQQ{/@AAAAA@;ogggggo/@AAAAA?;"
.ASCII "_OOwOO_/?@@B@@?;?gggggO/@AAAAAA;"
.ASCII "G?O_O?G/A?@?@?A;w????w?/@AAA@BA;"
.ASCII "w??C?w?/@AAA@BA;w___OOG/B???@@A;"
.ASCII "??oGGGw/AA@???B;wO___Ow/B??@??B;"
.ASCII "w_____w/B?????B;oGGGGGo/@AAAAA@;"
.ASCII "wOGGGo?/B????BA;Ogggggw/AA@???B;"
.ASCII "wGGGGGo/F@@@@@?;oGGGGGO/@AAAAA@;"
.ASCII "GGGwGGG/???B???;w?????w/CDDDDDB;"
.ASCII "GO_w_OG/A@?B?@A;{QQYSO_/@AAAAA@;"
.ASCII "w_____?/BAAAAA@;w___??w/BAAA@?B;"
.ASCII "OGGgggO/@AAAAA@;w??w??w/BAABAAB;"
.ASCII "OGGgggo/@AAAAA@;w??w??w/BAABAAF;"
.ASCII "w_____w/??????B;GGw___?/??BAAA@;"
.ASCII "}O{AAA{/B?@AAA@;ogcaaa}/B?????B;"
.ASCII "}QQQQQa/BAAAAA@;}????}?/BAAAABE;"
.ASCII "?{AAA}?/EBAAABE;}QQQQQQ/BAAAAAA;"
.ASCII "wCC}CCw/?@@B@@?;}AAAAAA/B??????;"
.ASCII "E?gOg?E/B?????B;}?_OGC}/B@????B;"
.ASCII "}?_RHC}/B@????B;}OOOggE/B?????B;"
.ASCII "oGCAAA}/B?????B;}CGoGC}/B?????B;"
.ASCII "}_____}/B?????B;{AAAAA{/@AAAAA@;"
.ASCII "}AAAAA}/B?????B;KQqQQQ}/A@????B;"
.ASCII "}aaaaa[/B??????;{AAAAAA/@AAAAAA;"
.ASCII "EAA}AAE/???B???;MOOOOO}/@AAAAA@;"
.ASCII "EgO}OgE/B??B??B;}QQQQ[_/BAAAAA@;"
.ASCII "}OOOOO_/BAAAAA@;}OOO_?}/BAAA@?B;"
.ASCII "CAAQQQk/@AAAAA@;}??}??}/BAABAAB;"
.ASCII "AAQQQQ{/AAAAAA@;}??}??}/BAABAAF;"
.ASCII "]OOOOO}/??????B;M}OOOO_/?BAAAA@;"
.ASCII <ESC>"/"
.ASCII <ESC>")U"
.ASCII <ESC>"~"
.BYTE 200
.END START