.SAVE .ASECT .=^O<100000> $ROMBS:: .=^O<$ROMBS+104> $YPTR:: ; 104 ; Tаблица начальных строк растра .BLKW 24.*2 ; для строк дисплея $YPTRE:: ; 244 $YPTRL==<$YPTRE-$YPTR>/2 ; Длина таблицы в словах $TAB:: ; 244 ; Таблица установок позиций .BLKB 132./8.+1 ; горизонтальной табуляции $TABE:: ; 265 ; - / / - ее конец $TABL==<$TABE-$TAB> ; - / / - ее длина $QMOD:: .BLKB ; 265 ; Модификатор в CSI последовательности ; >= 0 - ESC [ ... форма ; < 0 - ESC [ ? ... форма .=^O<$ROMBS+264> .BLKB L00265::.BLKB L00266::.BLKW L00270::.BLKW L00272::.BLKW L00274::.BLKW L00276::.BLKW .=^O<$ROMBS+1430> RAMR1:: .BLKW 530. ; 1430 ; Таблица #1 регенерации ОЗУ RAMR1E:: ; 3474 ; Конец таблицы #1 регенерации ОЗУ RAMR1L==/2 ; Длина таблицы #1 регенерации ОЗУ $KSCN1::.BLKB 200 ; 3474 ; Доп. таблица перекодировки клавиш #1 $KSCN2::.BLKB 200 ; 3674 ; Доп. таблица перекодировки клавиш #2 $VAR1:: $KSCAN::.BLKB 376-126 ; 4074 ; (111002) Основная таблица перекодировки клавиш $SPALL::.BLKB 16. ; 4344 ; (111252) Сохраненная палетта на время screen save'ера $TVST:: .BLKB 5 ; 4364 ; (111272) Ответ на запрос о статусе $TVCH:: .BLKB 11. ; 4371 ; (111277) Ответ на запрос о характеристиках $PCH3:: .BLKB 3 ; 4404 ; (111312) $PCRLF::.BLKB 3 ; 4407 ; (111315) cr lf $PCH2:: .BLKB 3 ; 4412 ; (111320) $PCH1:: .BLKB 2 ; 4415 ; (111323) ecs $PCH4:: .BLKB 3 ; 4417 ; (111325) $ONOFF::.BLKW ; 4422 ; (111330) 0 - режим on line 30 - режим off line .BLKW ; 4424 ; (111332) $QCRLF::.BLKW ; 4426 ; (111334) 0 - выводить cr/lf 4 - выводить только cr .BLKW ; 4430 ; (111336) .BLKW ; 4432 ; (111340) L04434::.BLKW ; 4434 ; (111342) Вызвать процедуру @#W10730 (0-да / 4-нет) $V1PP:: .BLKW ; 4436 ; (111344) указатель на переменный префикс нек. клавиш в режиме VT100 .BLKW ; 4440 ; (111346) $QCURS::.BLKW ; 4442 ; (111350) 0 - курсора нет 2 - курсор есть $MASK:: .BLKW ; 4444 ; (111352) маска для принятых на вывод символов L04446::.BLKW ; 4446 ; (111354) L04450::.BLKW ; 4450 ; (111356) LINATR::.BLKW ; 4452 ; (111360) текущие аттрибуты строки L04454::.BLKW ; 4454 ; (111362) L04456::.BLKW ; 4456 ; (111364) L04460::.BLKW ; 4460 ; (111366) L04462::.BLKW ; 4462 ; (111370) L04464::.BLKW ; 4464 ; (111372) L04466::.BLKW ; 4466 ; (111374) L04470::.BLKW ; 4470 ; (111376) L04472::.BLKW ; 4472 ; (111400) L04474::.BLKW ; 4474 ; (111402) $QDBLW::.BLKW ; 4476 ; (111404) 0 - двойная ширина 2 - обычная ширина QVT52:: .BLKB ; 4500 ; (111406) tекущий интерпретатор - VT100/VT52 - 0/1 - байт L04501::.BLKB ; 4501 CURATR:: ; 4502 ; (111410) oбласть текущих аттрибутов .SAV=. .=0 GLP:: .BLKW ; 4502 ; (111410) Указатель GL ABC GRP:: .BLKW ; 4504 ; (111412) Указатель GR ABC G0P:: .BLKW ; 4506 ; (111414) Указатель G0 ABC G1P:: .BLKW ; 4510 ; (111416) Указатель G1 ABC G2P:: .BLKW ; 4512 ; (111420) Указатель G2 ABC G3P:: .BLKW ; 4514 ; (111422) Указатель G3 ABC XCOOR:: .BLKW ; 4516 ; (111424) Координата X для вывода следующего символа YCOOR:: .BLKW ; 4520 ; (111426) Координата Y для вывода следующего символа REVERS::.BLKW ; 4522 ; (111430) Реверс цвета символа/фона (0-нет / 2-да) UNDLN:: .BLKW ; 4524 ; (111432) Подчеркивание символов 0-нет / 12-да) OCHP:: .BLKW ; 4526 ; (111434) Указатель алфавита на один символ FCOLOR::.BLKW ; 4530 ; (111436) Код цвета символа BCOLOR::.BLKW ; 4532 ; (111440) Код цвета фона QSCRND::.BLKW ; 4534 ; (111442) ATTR1:: .BLKW ; 4536 ; (111444) Вызвать процедуру @#W10724 (0-да / 4-нет) ATTR2:: .BLKW ; 4540 ; (111446) ATRLEN:: ; 40 ; Длина в словах области текущих аттрибутов .=.SAV+ATRLEN $VAR1E:: $VAR1L==<$VAR1E-$VAR1>/2 .=^O<$ROMBS+5574> GRAM1:: .BLKW 480.- ; 5574 ; Таблица #1 строк растра SAVATR::.BLKB ATRLEN ; 7434 ; Область для сохранения аттрибутов GRAM1E:: ; 7474 ; Конец таблицы #1 строк растра GRAM1L==/2 ; Длина таблицы #1 строк растра L07474::.BLKW ; 7474 ; (107456) M07456: .WORD ^B<0000000000000001> ; M07456+00 .BLKW ; 7476 ; (107460) .WORD ^B<0000000000000001> ; M07456+02 .BLKW ; 7500 ; (107462) .WORD ^B<0000000000000001> ; M07456+04 .BLKW ; 7502 ; (107464) .WORD ^B<0000000000000010> ; M07456+06 .BLKW ; 7504 ; (107466) .WORD ^B<1111111111111111> ; M07456+10 .BLKW ; 7506 ; (107470) .WORD ^B<0000111111111111> ; M07456+12 .BLKW ; 7510 ; (107472) .WORD ^B<0000000011111111> ; M07456+14 .BLKW ; 7512 ; (107474) .WORD ^B<0000000000001111> ; M07456+16 .BLKW ; 7514 ; (107476) .WORD ^B<1111000000000000> ; M07456+20 .BLKW ; 7516 ; (107500) .WORD ^B<1111111100000000> ; M07456+22 .BLKW ; 7520 ; (107502) .WORD ^B<1111111111110000> ; M07456+24 .BLKW ; 7522 ; (107504) .WORD ^B<1111111111111111> ; M07456+26 .BLKW ; 7524 ; (107506) .WORD ^B<0000000000001100> ; M07456+30 .BLKW ; 7526 ; (107510) .WORD ^B<0000000000001000> ; M07456+32 .BLKW ; 7530 ; (107512) .WORD ^B<0000000000000100> ; M07456+34 .BLKW ; 7532 ; (107514) .WORD ^B<0000000000000000> ; M07456+36 L07534::.BLKW ; 7534 ; (107516) .WORD ^B<0000000000000000> ; M07456+40 L07536::.BLKW ; 7536 ; (107520) .WORD ^B<0000000001001111> ; M07456+42 L07540::.BLKW ; 7540 ; (107522) .WORD ^B<0000000000001010> ; M07456+44 .BLKW ; 7542 ; (107524) .WORD ^B<0000000000000000> ; M07456+46 E07474:: T7474L==/2 $$G0:: .BLKB 96. ; 7544 ; ($CD013) $$G1:: .BLKB 96. ; 7704 ; ($CD013) ; ; 7710 ; 261 - '44 ; 1. БАЙТ ; ; 7744 ; ($CD1A) ; 32. БАЙТ $$G3:: .BLKB 96. ; 10044 ; ($CD013) ; ; 10143 ; ($CD3A) ; 32. БАЙТ $$G2:: .BLKB 96. ; 10204 ; ($CD2) ; 10344 .=^O<$ROMBS+10644> PRVEC:: ; 10644 ; Начало области программных векторов L10644::.BLKW 2 ; 10644 ; L10650::.BLKW 2 ; 10650 ; $CH8BT::.BLKW 2 ; 10654 ; Обработка 200C..377C L10660::.BLKW 2 ; 10660 ; Предобработка 0C..37C (при этом R0 - символ, R3=1) L10664::.BLKW 2 ; 10664 ; L10670::.BLKW 2 ; 10670 ; L10674::.BLKW 2 ; 10674 ; L10700::.BLKW 2 ; 10700 ; Предобработка ESC-последовательности для моды VT52 L10704::.BLKW 2 ; 10704 ; $SC200::.BLKW 2 ; 10710 ; Скан-код 200 $SC377::.BLKW 2 ; 10714 ; Скан-Код 377 W10720::.BLKW 2 ; 10720 ; W10724::.BLKW 2 ; 10724 ; 101302 W10730::.BLKW 2 ; 10730 ; 101312 $ECSIS::.BLKW 2 ; 10734 ; char L10740::.BLKW 2 ; 10740 ; <#><8> $CSIL:: .BLKW 2 ; 10744 ; ... вставить NN строк от позиции курсора включительно $CSIM:: .BLKW 2 ; 10750 ; ... удалить NN строк от позиции курсора включительно $CSIX:: .BLKW 2 ; 10754 ; ... стереть NN-1 символов от позиции курсора включительно $CSII:: .BLKW 2 ; 10760 ; ... $CSISY::.BLKW 2 ; 10764 ; ... $CSIAT::.BLKW 2 ; 10770 ; ...<@> вставить NN символов от позиции курсора включительно $CSIP:: .BLKW 2 ; 10774 ; ...

удалить NN символов от позиции курсора включительно PRVECE:: ; 11000 PRVECL==/4 ; Длина области программных векторов V.DCS:: .BLKW ; 11000 ; .BLKW L11004:: SYMSWT::.BLKW ; 11004 ; (111450) Текущий символ-переключатель L11006::.BLKW ; 11006 ; (111452) L11010::.BLKW ; 11010 ; (111454) .BLKW ; 11012 ; (111456) .BLKW ; 11014 ; (111460) $SCRSV::.BLKB 3 ; 11016 ; (111462) L11021::.BLKB ; 11021 ; (111465) L11022::.BLKB ; 11022 ; (111466) L11023::.BLKB ; 11023 ; (111467) L11024::.BLKB ; 11024 ; (111470) L11025::.BLKB ; 11025 ; (111471) L11026: .BLKW ; 11026 ; (111472) L11030: .BLKW ; 11030 ; (111474) SCRS:: .BLKW ; 11032 ; (111476) Первая строка зоны скроллинга SCRE:: .BLKW ; 11034 ; (111500) Последняя строка зоны скроллинга $SCAN:: .BLKW ; 11036 ; (111502) Сохраненный скан-код $QDRAW::.BLKB ; 11040 ; (111504) 0 - выводить, НЕ 0 - не выводить $QCTRL::.BLKB ; 11041 ; (111505) 0 - CTRL не нажата, НЕ 0 - CTRL нажата $QFXD:: .BLKB ; 11042 ; (111506) 0 - ФКС не нажата, НЕ 0 - ФКС нажата $QURG:: .BLKB ; 11043 ; (111507) 0 - ВР не нажата, НЕ 0 - ВР нажата $QRUS:: .BLKB ; 11044 ; (111510) 0 - латиница 1 - русский $QSURG::.BLKB ; 11045 ; (111511) 0 - нижний регистр, НЕ 0 - верхний регистр $QKPAD::.BLKB ; 11046 ; (111512) 0 - цифровая 1 - не цифровая дополнительная клавиатура L11047::.BLKB ; 11047 ; (111513) $QCD1:: .BLKB ; 11050 ; (111514) 0 - не использовать 1 - использовать доп. таблицу перекодировки #1 $QCD2:: .BLKB ; 11051 ; (111515) 0 - не использовать 1 - использовать доп. таблицу перекодировки #2 .BLKW ; 11050 ; (111514) .BLKW ; 11052 ; (111516) .BLKW ; 11054 ; (111520) .BLKW ; 11056 ; (111522) .BLKW ; 11060 ; (111524) .BLKW ; 11062 ; (111526) .=^O<$ROMBS+11430> RAMR0:: .BLKW 530. ; 11430 ; Еаблица #0 регенерации ОЗУ RAMR0E:: ; 13474 ; Конец таблицы #0 регенерации ОЗУ RAMR0L==/2 ; Длина таблицы #0 регенерации ОЗУ L13474::.BLKW ; 13474 L13476::.BLKW ; 13476 L13500::.BLKW ; 13500 .=^O<$ROMBS+13502> $ARGS:: ; 13502 $ARG1:: .BLKW ; 13502 $ARG2:: .BLKW ; 13504 $ARG3:: .BLKW ; 13506 $ARG4:: .BLKW ; 13510 $ARG5:: .BLKW ; 13512 $ARG6:: .BLKW ; 13514 $ARG7:: .BLKW ; 13516 $ARG8:: .BLKW ; 13520 $ARG9:: .BLKW ; 13522 $ARG10::.BLKW ; 13524 $ARG11::.BLKW ; 13526 $ARG12::.BLKW ; 13530 $ARG13::.BLKW ; 13532 $ARG14::.BLKW ; 13534 $ARG15::.BLKW ; 13536 $ARG16::.BLKW ; 13540 $ARG17::.BLKW ; 13542 $ARG18::.BLKW ; 13544 $ARG19::.BLKW ; 13546 $ARG20::.BLKW ; 13550 $ARG21::.BLKW ; 13552 .=^O<$ROMBS+15574> GRAM0:: .BLKW 480. ; 15574 ; Таблица #0 строк растра GRAM0E:: ; 17474 ; Конец таблицы #0 строк растра GRAM0L==/2 ; Длина таблицы #0 строк растра .=^O<$ROMBS+35600> ANSW:: ; 35600 ; (IANSW) 8. БАЙТ .=^O<$ROMBS+35624> .BLKB ; 35624 L35625::.BLKB ; 35625 .=^O<$ROMBS+35626> $$TEMP:: ; 35626 ;--------------------------------------------------------------- .=^O<20000> ZG1MAP:: ; 20000 ; Начало таблицы знакогенератора 1 .=^O<32000> ZG2MAP:: ; 32000 ; ;--------------------------------------------------------------- .=^O<100> $VCLK:: .BLKW .=^O<$ROMBS+160000> IIDRA:: .BLKW ; Information interchange device register of address IIDRD:: .BLKW ; Information interchange device register of data .=^O<$ROMBS+360> CPIVEC::.BLKW 2 ; From Central Processor input vector CPOVEC::.BLKW 2 ; To Central Processor output vector .=^O<176560> CPICSR::.BLKW ; From Central Processor input CSR CPIBUF::.BLKW ; From Central Processor input BUFfer .=^O<$ROMBS+176564> CPOCSR::.BLKW ; To Central Processor output CSR CPOBUF::.BLKW ; To Central Processor output BUFfer .=^O<$ROMBS+60> KBIVEC::.BLKW 2 ; From Keyboard input vector KBOVEC::.BLKW 2 ; To Keyboard output vector .=^O<177560> KBICSR::.BLKW ; From Keyboard input CSR KBIBUF::.BLKW ; From Keyboard input BUFfer .=^O<$ROMBS+177564> KBOCSR::.BLKW ; To Keyboard output CSR KBOBUF::.BLKW ; To Keyboard output BUFfer .RESTORE