Это тест системы команд МКБ-8601, подготовленный естественно на БЭСМ-6, но к 1992 году запускавшийся на компиляцию, сборку и счет и на самой МКБ-8601.


*NАМЕ TEST
*TIME:24.00
*LIBRA:23
*DISC:705/SYSTEM,lcross
*FILE:Lib,67,r
*FILE:SCRATCH,30,W
*PERSO:67
*ТАКЕ ТАРЕ:67
*CALL FICMEMOR
*CALL LIBINIT:300000,40, Т Е С Т
*         *NО LIST
*NО LOAD
*     *FTN
*     SUBROUTINE Z
*     DIMENSION М(10)
*     DАТА М/10(0)/
*     CALL EXLIB(300000В)
*     CALL ELNAME(' MACR ') $ CALL ELMOVE(0)
*     CALL ELWRIT(М,10)
*     CALL ELCLOS
*     RETURN
*     END
*     *CALL Z
*     *STAND
*     *CALL ZMACRO
*STAND
*no list
*MAIN МКВ/ASS
*EXECUTE
MAIN_SW:NАМЕ QF
;
;****************************************************
;*                                                  *
;*          П Е Р Е К Л Ю Ч А Т Е Л Ь               *
;*          ПРЕРЫВАНИЙ  И ЭКСТРАКОДОВ               *
;*                                                  *
;****************************************************
;*
;*   АДРЕС НАЧАЛА ПЕРЕКЛЮЧАТЕЛЯ ПРЕРЫВАНИЙ ФИКСИРОВАН
;*   В СООТВЕТСТВУЮЩИХ МИКРОПРОГРАММАХ.    СЕЙЧАС ОН
;*   РАВЕН  FFF8 0800  ( 514-Й МАТ.ЛИСТ ).  ДАЛЕЕ
;*   ДАЕТСЯ РАСПРЕДЕЛЕНИЕ В ОТНОСИТЕЛЬНЫХ АДРЕСАХ :
;*
;*     00:3F - ПРЕРЫВАНИЯ  1:64
;*      40   - ГЛОБАЛЬНЫЙ СЕМАФОР ПАМЯТИ
;*      50   - ЭКСТРАКОДЫ НОВОГО РЕЖИМА
;*      51   - ЭКСТРАКОДЫ СТАРОГО РЕЖИМА (БЭСМ-6)
;*      52   - ЭКСТРАКОДЫ И НЕКОТОРЫЕ КОМАНДЫ  СВС
;*      53   - ЗАПРЕЩЕННЫЕ КОМАНДЫ (ОСН.ФОРМАТ)
;*      5F   - КОНТРОЛЬНАЯ СУММА ПРОГРАММЫ
;*      60   - ВХОД ПОСЛЕ ОБЩЕГО СБРОСА МАШИНЫ
;*
BEG_С:EQU @FFF8 0800 ; НАЧ. С-ОБЛ.
FREE_С:РССВ (0) ; КОНЕЦ С-ОБЛ.
VOL_С:EQU FREE_С-BEG_С>>10 & @3FF
MAIN_PAG:EQU BEG_С>>10 & @3FF
;PPLIST:EQU 127 ; ДЛЯ ПП
PPLIST:EQU @3С0 ; ПП-АДРЕСА: F0000
;
BEG_V:EQU @FFFE 0000 ; НАЧ. V-ОБЛ.
JUMPADR:LСВ NPASS,NEXPAG,LRW
 ,NEW_REG,HALTER,ERCNT
 ,PPMASK,CMDIV,MIRCOPY
 ,CPTIM(3),MSCALE(16)
 ,ADR(68),ATEST(128)
 ,BLTEST(256)
 ,OLDRP,ER6
LWS:EQU 1030
МАГАЗИНЫ:LСВ РАВ(11) ; ВОЗВРАТЫ ИЗ П/П
 ,РАПУ(80) ; П/УПР.(КРАТ.16)
 ,MST(40) ; ДЛЯ МАГАЗ.КОМАНД
 ,WS(LWS) ; РАБ.ЯЧЕЙКИ
;-----    БЛОК СВЯЗИ С ПП :
МС:EQU 40 ; КАНАЛЫ
MJ:EQU 64 ; ЗАЯВКИ
LО:EQU 200 ; ВЫВ.БУФЕР
@F0000:BLOCK REFER(6),LAST_JОВ,PPINF
 ,HEADS(МС>>3),QUE(MJ>>3)
 ,JОВ(2*MJ),CON_IN(16)
 ,CON_OUT(LО),LAST_OUT
 ,(1),CNT
;
ДОЛБЕЖКА:EQU REFER+@3FF
ДОЛБЛИСТ:EQU @3F ; ЛИСТ=63
;
LIMIT:EQU LO/12
FREE_V:РСВ (0) ; КОНЕЦ V-ОБЛ.
VOL_V:EQU FREE_V-BEG_V>>10 & @3FF
MAIN_REG:EQU @C17F ; НАЧ.РЕЖИМ
WORK_REG:EQU @402С ; РАБ.РЕЖИМ
SТЕР:EQU 15 ; ШАГ ТЕСТА СТРАНИЦ
SINDROM:EQU -1 ; СИНДРОМ КИМА
QUANT:EQU @20001 ; 2**21 = 1 СЕК.
CLOCK:EQU -8 ; ЧАСЫ
;
М15:EQU @7FFF
N:EQU 1 ; НОМ.ПРЕР.
8:BLOCK NG,Р2,Р1,TN,РА,RI,IА
;
CONST
FUL:НЕХ FFFF FFFF FFFF FFFF
CHESS1:НЕХ АААА АААА АААА АААА
CHESS2:НЕХ 5555 5555 5555 5555
WELLINT:НЕХ 0000 0180 0000 000Е
COMINT:НЕХ 00А4 9800 0000 0000
;
S_NUM:НЕХ 7374 7501 7602 0304
 :НЕХ 7705 0607 0809 1011
 :НЕХ 7812 1314 1516 1718
 :НЕХ 1920 2122 2324 2526
 :НЕХ 7927 2829 3031 3233
 :НЕХ 3435 3637 3839 4041
 :НЕХ 4243 4445 4647 4849
 :НЕХ 5051 5253 5455 5657
 :НЕХ 8058 5960 6162 6364
 :НЕХ 6566 6768 6970 7172
OLDCOP:НЕХ 3031 903В 3C3D ЕВЕС
 :НЕХ 1819 3233 2021 361В
 :НЕХ 0001 0203 Е5Е6 Е7Е8
 :НЕХ 0809 0А0В E90D 0ЕЕА
 :НЕХ 1011 1213 1415 16DB
OLDCOP2:НЕХ 8381 3233 1C1D 1682
 :НЕХ 2021 8022 2425 2627
 :НЕХ 2829 2А2В 2C2D 2E2F
 :НЕХ 3031 3233 3435 3637
 :НЕХ 3839 3А3В 3C3D 3E3F
CHES2OLD:НЕХ 7D55 5555 5555 5000
;
;
CMD
;
;
;                 П Р Е Р Ы В А Н И Я :
;                 *********************
;
;     ПРОЦЕССОР ПЕРЕКЛЮЧАЕТСЯ НА  0-Ю ГРУППУ РЕГИСТРОВ
;     ПРЕЖНЕЕ СОСТОЯНИЕ ЭТИХ РЕГИСТРОВ НЕСУЩЕСТВЕННО.
;     УСТАНАВЛИВАЮТСЯ: БПНП,БВП,РД,РОА,БЗО,БЗЗ,ПОП.
;     УСТАНАВЛИВАЮТСЯ ЗАНОВО СЛЕДУЮЩИЕ РЕГИСТРЫ :
;
;      TN - НОМЕР ПРЕРВАННОГО ПРОЦЕССА
;      NG - НОМЕР АКТИВНОЙ ГРУППЫ ЕГО РЕГИСТРОВ
;      Р1 - КОПИЯ РЕГИСТРА РЕЖИМОВ ПРЕРВ.ПРОЦЕССА
;      Р2 - КОПИЯ РАСШИРЕНИЯ РЕГИСТРА РЕЖИМОВ
;      RI - МАТ.АДРЕС КОМАНДЫ, ВЫЗВАВШЕЙ ПРЕРЫВАНИЕ
;      РА - ФИЗ.АДРЕС КОМАНДЫ, ВЫЗВАВШЕЙ ПРЕРЫВАНИЕ
;      IА - МАТ.АДРЕС ОПЕРАНДА, ВЫЗВАВШЕГО ПРЕРЫВАНИЕ
;      СА - КОД ОПЕРАЦИИ АРБИТРА
;
;MOZY=80800
;
 BEGIN:N VТМ 1
 JМР INT
 :N VТМ 2
 JМР INT
 :N VТМ 3
 JМР INT
 :N VТМ 4
 JМР INT
 :N VТМ 5
 JМР EXTINT ; ПРОГРАММНОЕ
 :N VТМ 6
 JМР INT
 :N VТМ 7
 JМР INT
 :N VТМ 8
 JМР INT
 :N VТМ 9
 JМР INT
 :N VТМ 10
 JМР INT
 :N VТМ 11
 JМР INT
 :N VТМ 12
 JМР INT
 :N VТМ 13
 JМР INT
 :N VТМ 14
 JМР INT
 :N VТМ 15
 JМР INT
 :N VТМ 16
 JМР INT
 :N VТМ 17
 JМР INT
 :N VТМ 18
 JМР INT
 :N VТМ 19
 JМР INT
 :N VТМ 20
 JМР INT
 :N VТМ 21
 JМР INT
 :N VТМ 22
 JМР INT
 :N VТМ 23
 JМР INT
 :N VТМ 24
 JМР INT
 :N VТМ 25
 JМР INT
 :N VТМ 26
 JМР INT
 :N VТМ 27
 JМР EXTINT ; ВНЕШНИЕ
 :N VТМ 28
 JМР INT
 :N VТМ 29
 JМР RЕТ_INT ; ШАГОВОЕ
 :N VТМ 30
 JМР INT
 :N VТМ 31
 JМР INT
 :N VТМ 32
 JМР INT
 :N VТМ 33
 JМР INT
 :N VТМ 34
 JМР INT
 :N VТМ 35
 JМР INT
 :N VТМ 36
 JМР INT
 :N VТМ 37
 JМР INT
 :N VТМ 38
 JМР INT
 :N VТМ 39
 JМР INT
 :N VТМ 40
 JМР INT
 :N VТМ 41
 JМР INT
 :N VТМ 42
 JМР INT
 :N VТМ 43
 JМР INT
 :N VТМ 44
 JМР INT
 :N VТМ 45
 JМР INT
 :N VТМ 46
 JМР INT
 :N VТМ 47
 JМР INT
 :N VТМ 48
 JМР INT
 :N VТМ 49
 JМР INT
 :N VТМ 50
 JМР INT
 :N VТМ 51
 JМР INT
 :N VТМ 52
 JМР INT
 :N VТМ 53
 JМР INT
 :N VТМ 54
 JМР INT
 :N VТМ 55
 JМР INT
 :N VТМ 56
 JМР INT
 :N VТМ 57
 JМР INT
 :N VТМ 58
 JМР INT
 :N VТМ 59
 JМР INT
 :N VТМ 60
 JМР INT
 :N VТМ 61
 JМР INT
 :N VТМ 62
 JМР INT
 :N VТМ 63
 JМР INT
 :N VТМ 64
 JМР INT
;
S_МЕМ:АТХ ; СЕМАФОР
АТХ ; ПАМЯТИ
;
:АТХ 0
АТХ @А2
;
:АТХ 0 ; 42 - РЕЗЕРВ
:АТХ 0 ; 43
:АТХ 0 ; 44
:АТХ 0 ; 45 - ДАТА СБОРКИ
:АТХ 0 ; 46 - D:\BESM6
:АТХ 0 ; 47 - \КТ.BIN
:АТХ 0 ; 48
:АТХ 0 ; 49
;
;      СОЗДАНИЕ РЕЗЕРВНОЙ КОПИИ ПРОГРАММЫ
;         СО СМЕЩЕНИЕМ НА 16 СТРАНИЦ
;
СОРУ:14 VТМ 1+BEGIN-FREE_С
SETR @3178
:14 ТТА FREE_С-1
14 ТТХ FREE_С+@3FFF
14 VLM *-1
JМР TEST
;      ВОССТАНОВЛЕНИЕ ОСНОВНОГО ЭКЗЕМПЛЯРА
RЕСОРУ:14 VТМ 1+BEGIN-FREE_С
SETR @3178
:14 ТТА FREE_С+@3FFF
14 ТТХ FREE_С-1
14 VLM *-1
JМР TEST
;
;
;             Э К С Т Р А К О Д Ы :
;             *********************
;
:N VТМ 65
 JМР INT
:N VТМ 66
 JМР INT
:N VТМ 67
 JМР INT
:N VТМ 68
 JМР INT
;
INT:N WТС ADR-1
JМР ; НА ОБРАБОТКУ ПРЕР.
;
;
CHEKSUMM:UТА
N VТМ FREE_С-BEGIN-2
:N ARX BEGIN
N VRM *
АЕХ FUL ; КОНТР.СУММА
13 JAEQ ; СОВПАЛА
ERCS:HLT 1
13 JМР
;
:АТХ ; 59
:АТХ ; 5А
:АТХ ; 5В
:АТХ ; 5С
:АТХ ; 5D
:АТХ ; 5Е
CSUMM:АТХ 0 ; ДЛЯ КОНТР.
АТХ 0 ;  СУММЫ
;
;
;
;                   ПРЕРЫВАНИЯ ПРИ ЗАПИСИ В ОЗУ:
;                   ============================
;
; @15(21)- ЗАЩИТА АДРЕСА ПРИ ЗАПИСИ.
;          ВОЗНИКАЕТ ПРИ "0" БПТЗ, ЕСЛИ ПРИ ЗАПИСИ В
;          ПАМЯТЬ СЛОВО ПО ИСП.АДРЕСУ СОДЕРЖИТ "1" В
;          68 РАЗРЯДЕ ТЕГА. (СИГНАЛ PWRI ШИНЫ ДАННЫХ).
;
;                  ПРЕРЫВАНИЯ ПО ТЕГУ:
;                  ===================
;
; @0А(10) - ПРОГРАММНАЯ ИНТЕРПРЕТАЦИЯ ТЕГА КОМАНДЫ.
;         ПРОИСХОДИТ ВО ВРЕМЯ ВЫБОРКИ КОМАНДНОГО СЛОВА
;         ИЗ ОЗУ ПРИ "0" БПИНТ И "1" 72 РАЗРЯДА ТЕГА.
;
; @0В(11) - ПРОГРАММНАЯ ИНТЕРПРЕТАЦИЯ ТЕГА ОПЕРАНДА.
;         ПРОИСХОДИТ ВО ВРЕМЯ ВЫБОРКИ ОПЕРАНДА ИЗ ОЗУ
;         ПРИ "0" БПИНТ И "1" 72 РАЗРЯДА ТЕГА ОПЕРАНДА
;
; @16(22) - ЧУЖОЙ СУММАТОР.  ВОЗНИКАЕТ В ОТСУТСТВИЕ БЧС
;         ПРИ НЕСОВПАДЕНИИ 66 БИТА ТЕГА ТЕКУЩЕГО КОМА-
;         НДНОГО СЛОВА С ПРИЗНАКОМ "РЭ" В  РР.
;
; @17(23) - ЧУЖОЙ ОПЕРАНД. ВОЗНИКАЕТ В ОТСУТСТВИЕ БЧОП
;         ПРИ НЕСОВПАДЕНИИ 66 БИТА ТЕГА ОПЕРАНДА С
;         ПРИЗНАКОМ "РЭ" В  РР.
;
; @0С(12) - ЗАЩИТА АДРЕСА ПРИ ЧТЕНИИ.
;
; @0D(13) - КОНТРОЛЬ КОМАНДЫ.
;
; @13(19) - ЗАЩИТА ВЫБОРКИ КОМАНДЫ.
;
; @14(20) - ЗАЩИТА ПЕРЕДАЧИ УПРАВЛЕНИЯ.
;
;         ПРЕРЫВАНИЯ ПРИ ОБРАЩЕНИИ К ОЗУ И ШИНЕ ДАННЫХ
;         ============================================
;
;     2 - МНОГОКРАТНАЯ ОШИБКА. (СИГНАЛ DERI ШИНЫ).
;     1 - ОТСУТСТВУЮЩИЙ БЛОК ПАМЯТИ. (СИГНАЛ AMBI).
;     3 - "TIME-OUT" ПРИ ОБРАЩЕНИИ К ОЗУ.
;         ВЫРАБАТЫВАЕТСЯ ПРИ ОТСУТСТВИИ ОТВЕТА ОЗУ
;         В ТЕЧЕНИЕ 100 МИКРОСЕКУНД.
;     4 - "TIME-OUT" ПРИ ОБРАЩЕНИИ К ШИНЕ.
;         ВЫРАБАТЫВАЕТСЯ АРБИТРОМ ПРИ ОТСУТСТВИИ ОТВЕ-
;         ТА ОТ ШИНЫ В ТЕЧЕНИЕ 100 МИКРОСЕКУНД.
;
;                 ПРЕРЫВАНИЯ ПО ПРИПИСКЕ:
;                 =======================
; @0Е(14) - МАТЕМ.АДРЕС РАВЕН 0.  ПСЕВДОПРЕРЫВАНИЕ.
; @0F(15) - ЧУЖОЙ РЕГИСТР ПРИПИСКИ ПРИ ЧТЕНИИ/ЗАПИСИ.
;         ВОЗНИКАЕТ ПРИ НЕСОВПАДЕНИИ ПОЛЯ НОМЕРА
;         ПРОЦЕССА В РЕГИСТРЕ ПРИПИСКИ С НОМЕРОМ
;         ТЕКУЩЕГО ПРОЦЕССА. (ПРИ ПНП=255 СТРАНИЦА
;         ДОСТУПНА ВСЕМ ПРОЦЕССАМ).
; @10(16) - ЧУЖОЙ РЕГИСТР ПРИПИСКИ ПРИ ВЫБОРКЕ КОМАНД.
;         АНАЛОГИЧНО ПРЕДЫДУЩЕМУ.
; @11(17) - ЗАЩИТА СТРАНИЦЫ ПРИ ОБРАЩЕНИИ. ВОЗНИКАЕТ
;         В ОТСУТСТВИЕ БП И БЗО, ЕСЛИ ОПЕРАНД КОМАНДЫ
;         ЧТЕНИЯ/ЗАПИСИ НАХОДИТСЯ В ЗАЩИЩЕННОЙ СТРАНИ-
;         ЦЕ ("0" 10-ГО РАЗРЯДА СООТВ. РП).    ПРИ
;         ВЫБОРКЕ КОМАНДЫ ЭТОГО ПРЕРЫВАНИЯ НЕ БЫВАЕТ.
; @12(18) - ЗАЩИТА СТРАНИЦЫ ПРИ ЗАПИСИ.  ВОЗНИКАЕТ В
;         ОТСУТСТВИЕ БП И БЗЗ И "0" 9-ГО РАЗРЯДА РП.
;      8 - ОТРИЦАТЕЛЬНЫЙ НОМЕР СТРАНИЦЫ У КОМАНДЫ.
;         БЛОКИРУЕТСЯ ПРИЗНАКАМИ БП ИЛИ РОА.
;      9 - ОТРИЦАТЕЛЬНЫЙ НОМЕР СТРАНИЦЫ У ОПЕРАНДА.
;
;                  РАЗНЫЕ ПРОЧИЕ ПРЕРЫВАНИЯ:
;                  =========================
;      7 - ОТСУТСТВУЮЩИЙ АДРЕС ПАМЯТИ. ВОЗНИКАЕТ ТОЛЬКО
;         В НОВОМ РЕЖИМЕ ПРИ НЕСОВПАДЕНИИ 21-32  И 20
;         РАЗРЯДОВ МАТЕМАТИЧЕСКОГО (ИЛИ ФИЗИЧЕСКОГО,
;         ЕСЛИ БП) АДРЕСА ОПЕРАНДА ИЛИ КОМАНДЫ.
; @18(24) - ЗАПРОС МОДИФИКАЦИИ  ПРИОРИТЕТОВ СТРАНИЦ.
;         ПСЕВДОПРЕРЫВАНИЕ.
; @1А(26) - "TIME-OUT" ПРИ БЛОКИРОВКЕ ВНЕШНИХ ПРЕРЫВАНИЙ
;         ВОЗНИКАЕТ ПРИ СРАБАТЫВАНИИ МИКРОСЕКУНДНОГО
;         ТАЙМЕРА, ВКЛЮЧАЮЩЕГОСЯ ОДНОВРЕМЕННО С БВП.
; @1Е(30) - ОБРАЩЕНИЕ БЛОКА СВЯЗИ ПП ЗА ЧТЕНИЕМ/ЗАПИСЬЮ
;         РЕГИСТРОВ.   ПСЕВДОПРЕРЫВАНИЕ.
; @1D(29) - ШАГОВОЕ ПРЕРЫВАНИЕ.
;
; @1В(27) - ВНЕШНИЕ ПРЕРЫВАНИЯ.
;
;     5 - ПРОГРАММНО ИМИТИРОВАННЫЕ ПРЕРЫВАНИЯ.
;         ВОЗНИКАЮТ ПРИ ВЫДАЧЕ КОМАНДЫ  WMOD @1С13
;         ИЛИ ПРИ УСТАНОВКЕ В "0" ТАЙМЕРА СЧЕТН.ВРЕМ.
;         "1" 40 РАЗРЯДА ГРП - ОТ ТАЙМЕРА
;         "1" 41 РАЗРЯДА ГРП - ОТ ПРОГРАММЫ ИЛИ ПП.
;
; @1С(28) - HALT. ВОЗНИКАЕТ ПО КОМАНДЕ HALT, ПО ЗАПРОСУ
;         ОТ ПП, ПРИ ПРЕРЫВАНИИ С НАЛИЧИЕМ ПОП,
;         ПРИ ПУЛЬТОВОМ ОСТАНОВЕ.
;
;         ПРЕРЫВАНИЯ, ФИКСИРУЕМЫЕ В МИКРОПРОГРАММАХ:
;         ==========================================
;
; @1F(31) - МЛАДШИЕ 16 Р.  ЧАСОВ  СЧЕТНОГО ВРЕМЕНИ = 0
; @20(32) - МЛАДШИЕ 16 Р. ТАЙМЕРА СЧЕТНОГО ВРЕМЕНИ = 0
; @21(33) - ПЕРЕПОЛНЕНИЕ.  ПРИ "0" БПП ПОРЯДОК РЕЗУЛЬТА-
;         ТА АРИФМ.ОПЕРАЦИИ С ПЛАВ.ЗАПЯТОЙ ПРЕВЫШАЕТ
;         2047, ИЛИ ВЫХОД ЗА 64 (32) РАЗРЯДА ПРИ РАБО-
;         ТЕ С ЦЕЛОЧИСЛЕННЫМИ СЛОВАМИ (ПОЛУСЛОВАМИ).
; @22(34) - ПЕРЕПОЛНЕНИЕ ПОРЯДКА БЭСМ-6.
;         ВОЗМОЖНО В РЕЖИМЕ ЭМУЛЯЦИИ ПРИ НАЛИЧИИ ББЧ.
; @23(35) - ДЕЛЕНИЕ НА 0.
; @24(36) - ПЕРЕПОЛНЕНИЕ ПОЛЯ УПРЯТЫВАНИЯ. ВОЗНИКАЕТ
;         В ОТСУТСТВИЕ БППУ ПРИ ЭКСТРАКОДАХ ПОСЛЕ
;         УПРЯТЫВАНИЯ РЕГИСТРОВ В ПАМЯТЬ, ЕСЛИ
;         ПОЛЕ УПРЯТЫВАНИЯ УПЕРЛОСЬ В КОНЕЦ СТРАНИЦЫ.
; @25(37) - НЕЗАКОННЫЙ ОПЕРАНД.  ВОЗНИКАЕТ В РЕЖИМЕ
;         ЭМУЛЯЦИИ, ЕСЛИ ПРИ "1" 64 Р. ИМЕЕТСЯ ХОТЯ БЫ
;         ОДНА "1" В 63-59 Р. СУММАТОРА ИЛИ ОПЕРАНДА
;         ПРИ ВЫПОЛНЕНИИ ЛОГИЧЕСКИХ И СДВИГОВЫХ КОМАНД
;         ИАОП=<МАТ.АДР.ОПЕРАНДА> ИЛИ 0 ДЛЯ СУММАТОРА.
; @26(38) - ВЫБОРКА КОМАНДЫ ПО МАТ.АДРЕСУ 0.
;
;    39:64 -   НЕ ЗАДЕЙСТВОВАНЫ :
;
; =========================================
;
TEST:
14 VТМ MAIN_REG +@80
14 CLRR @Е0000 ; НАЧАЛЬНЫЙ
14 SETR ; РЕЖИМ + БВП
UТА 1<<5
WMOD @1818 ; ГРУППА=1
14 VТМ MAIN_REG +@80
UТА 8
WMOD @1819 ; ПРОЦЕСС=8
;         ПРИПИСКА БЛОКА СВЯЗИ С ПП
UТА PPLIST<<10 +@3FF
WMOD @7С0 ; F0000
UТА -1
WMOD @7FF ; ТУТ ПП-МАСКА
WMOD @1С15 ; ТАЙМЕР
12 VJM SETGR
WMOD @1Е ; =0
АТХ -4 ; ГАШ. ПП-МАСКИ
WMOD @1802 ; И ГРП
АТХ HEADS
АТХ QUE
15 VТМ REFER
UТА HEADS-REFER ; ЗАНЕСЕНИЕ
UTS QUE-REFER   ; ПОСТОЯННЫХ
UTS JОВ-REFER   ; УКАЗАТЕЛЕЙ
UTS CON_IN-REFER  ; ДЛЯ БЛОКА
UTS CON_OUT-REFER ; СВЯЗИ С ПП
UTS LО
UTS
WMOD @1С14 ; ЧАСЫ
;
14 VТМ MAIN_REG ; НАЧ.РЕЖИМ
14 CLRR @Е0000  ; В ИСП.
14 SETR         ; ЧАСТЬ (БЕЗ БВП)
;
14 VТМ -30  ; РОСПИСЬ
:14 WMOD 31 ; 0-Й ГРУППЫ
14 VLM *
UТА РАПУ+64
WMOD 15 ; МАГАЗИН
WMOD @1D ; РАПУ
WMOD @13 ; РАВ
UТА -1
WMOD @14 ; ТАЙМЕР
WMOD @15 ; И СЧ-К ВРЕМЕНИ
WMOD @16 ; ОБРАБОТКИ ПРЕР.
WMOD @1С19      ; СБРОС КЭША
JМР SETRP
;
SETGR:RMOD @1818
ATI 2 ; Р Н Г
IТА 14
ASN 1024-10
2 WMOD @11 ; В РР ГРУППЫ
14 CLRR @Е0000
14 SETR
UТА @3F
ASN 1024-16 ; РЕЗЕРВНАЯ
AOU 1 ; ГРУППА = 31
2 WMOD @12 ; В РРР
UТА РАПУ
2 WMOD @1D
UТА РАВ
2 WMOD @13
RMOD @1819 ; РНП
2 WMOD @1Е ; В СВОЮ ГРУППУ
WMOD @3FE ; И В РЕЗЕРВНУЮ
UТА
12 UТС
2 JMNE
;
;      ЕСЛИ УЖ ТАК СЛУЧИЛОСЬ, ЧТО ПОПАЛИ
;      В 0-Ю ГРУППУ, КУЛЬТУРНО УЙДЕМ В 1-Ю.
;
3 VТМ @20 ; ГРУППА 1
IТА 3
ASN 1024-3 ; ССЫЛКУ -
AOU 1      ; - В СВОЙ
2 WMOD @12 ; РРР
UТА MAIN_REG
ASN 1024-10
3 WMOD @11 ; ГОТОВИМ РР,
UТА SETGR
3 WMOD @1В ; СЧАС,
IТА 14
3 WMOD 14
IТА 12
3 WMOD 12  ; И12 (ВЫХОД)
JМР RЕТ_INT
;
SETRP:UТА
14 VТМ 1022 ; ОЧИСТКА ПОЧТИ
:14 WMOD @400 ; ВСЕХ РП
14 VRM *
UТА PPLIST<<10 +@3FF
WMOD @7С0 ; БЛ.СВЯЗИ С ПП
;
;            ПРИПИСЫВАЕМ СЕБЯ К ФИЗ.ЛИСТАМ: 0-С
;          И СВОЮ КОПИЮ СО СМЕЩЕНИЕМ НА 16 ЛИСТОВ
;
14 VТМ @2FF ; ЗАПР.ЗАПИСИ
13 VТМ 1-VOL_С
:IТА 14
13 WMOD FREE_С>>10&@3FF + @3FF
13 WMOD VOL_С+@401; СИЛИН
А+U @4000 ; 2-Й ЭКЗЕМПЛЯР
13 WMOD FREE_С>>10&@3FF + @40F
14 UТМ @400 ; С- ПРИПИСКА
13 VLM *-3
14 UТМ @100 ; РАЗР.ЗАПИСИ
13 VТМ 1-VOL_V
:IТА 14
13 WMOD FREE_V>>10&@3FF + @3FF
13 WMOD VOL_V+@3FF; СИЛИН
14 UТМ @400 ; V- ПРИПИСКА
13 VLM *-2
13 VJM CHEKSUMM
ХТА FREE_С-1
JANE INITQUE
;
;        ЗАПАКОВКА СТАРОРЕЖИМНОЙ ЧАСТИ ТЕСТА
;
SETR @1000; УСТ БЗЗ
1 VТМ TBEGIN - Т21 - 1
РАСК1:1 ТТА Т21
АТХ WS
УТХ WS + 1
2 VТМ 1
РАСК2:2 НТА WS << 1
ASN @400 + 20
AAU @FF
ATI 3; КОП-1
AEU @3F
JANE РАСК3
2 НТА WS << 1
ASN @400 + 12
AAU @FF
ATI 3; КОП - 2
4 VТМВ OLDCOP2
5 VТМ -79 + @28
JМР РАСК4
РАСК3:4 VТМВ OLDCOP
5 VТМ -79
РАСК4:4 ВТА
AEI 3
JAEQ РАСК5
4 UТМ 1
5 VLM РАСК4
HLT 7
РАСК5:5 UТМ 79
IТА 5
А-U 16
JAGE РАСК7 ; КОРОТКИЙ АДРЕС
5 UТА @10
ASN @400 -3
6 VТМ =Н0000 0000 000F 8000
JМР РАСК8 ; ДЛИННЫЙ АДРЕС
;
РАСК7:2 НТА WS<<1
AAU @7000
AEU @7000
:JANE *+1
UТС @40 ; БИТ 19 КОП
:5 UТА -16
6 VТМ =Н0000 0000 000F F000
;
РАСК8:ASN @400 - 12
2 АЕН WS << 1
6 ААХ
2 АЕН WS << 1
2 АТН WS << 1
2 VRM РАСК2
ХТА WS + 1
AOU 2
АТХ WS + 1
ХТА WS
АРХ =HF00FFFFFF00FFFFF
AEN
ASNA @400 + 4
AEN
ХТУ WS + 1
1 ТТХ Т21
1 VRM РАСК1
ХТА CHES2OLD
ТТХ CHESS+1
;
;  ЗАНОВО ПЕРЕСЧИТАЕМ КОНТР. СУММУ
;
UТА
АТХ CSUMM
N VТМ FREE_С - BEGIN - 2
:N ARX BEGIN
N VRM *
AEU -1
АТХ CSUMM
CLRR @FEFFF; СНЯТЬ БЗЗ
;
;        РОСПИСЬ ВСЕЙ ПАМЯТИ НУЛЯМИ
;        (ТОЛЬКО ПРИ ПЕРВОМ ЗАПУСКЕ)
;
7 VТМ 1023-64
13 VJM MEMORY
RMOD @401
ATI 10
6 VTMF MSCALE
SETR @3178
CLEM1:IТА 7
AEU PPLIST
JAEQ CLEM2
IТА 7
А-U VOL_С
JALT CLEM2
:JANE *+1
UТС ADR-BEG_V
:14 VТМ -1023
7 UТС
6 FТА
JAEQ CLEM2
IТА 7
ASN @400-10
AOU @3FF
WMOD @401
UТА
UТУ @34
:14 ТТХ 1024+1023
14 VLM *
CLEM2:7 VRM CLEM1
IТА 10
WMOD @401
;
ХТА FREE_С-1
JANE INITQUE
14 VТМ 1+BEGIN-FREE_С
ХТА ="DOUBLE-1"
АТХ FREE_С-1
:14 ТТА FREE_С-1    ; СОЗДАЕМ СВОЮ
14 ТТХ FREE_С+@3FFF ; КОПИЮ
14 VLM *-1
ХТА ="DOUBLE-2"
АТХ FREE_С+@3FFF
CLRR MAIN_REG+@50000
;
;          НАЧ.СОСТОЯНИЕ ОЧЕРЕДЕЙ :
;
INITQUE:UТА
14 VТМ 6-1023
:14 АТХ REFER+1023
14 VLM *
14 VТМ 2-MJ
15 VТМ MST
:А+U 1
14 АТВ QUE<<3 +MJ-2
14 VLM *-1
;
13 VJM CHEKSUMM
;
;           АДРЕСА НАЧАЛ ПОДТЕСТОВ :
;           (ЗАРАНЕЕ ИХ УСТАНОВИТЬ НЕ УДАЛОСЬ,
;            Т.К. ТОВ.ДАВЫДОВ ПОХОЖЕ НЕВЕРНО
;            ТРАНСЛИРУЕТ ДЛИННЫЕ СПИСКИ КОНСТАНТ).
;
UТА
14 VТМ ER6-ATEST
:14 АТХ ATEST
14 VRM *
2 VТМН ATEST
;            ПОДТЕСТЫ РЕЖИМА ЭМУЛЯЦИИ :
UТА Т21 & М15
2 АТН @21
UТА Т22 & М15
2 АТН @22
UТА Т23 & М15
2 АТН @23
UТА Т24 & М15
2 АТН @24
UТА Т25 & М15
2 АТН @25
UТА Т26 & М15
2 АТН @26
UТА Т27 & М15
2 АТН @27
UТА Т2А & М15
2 АТН @2А
UТА Т2В & М15
2 АТН @2В
UТА Т2С & М15
2 АТН @2С
UТА Т30 & М15
2 АТН @30
UТА Т31 & М15
2 АТН @31
UТА Т32 & М15
2 АТН @32
UТА Т33 & М15
2 АТН @33
UТА Т34 & М15
2 АТН @34
UТА Т35 & М15
2 АТН @35
UТА Т36 & М15
2 АТН @36
UТА Т37 & М15
2 АТН @37
UТА Т38 & М15
2 АТН @38
UТА Т3А & М15
2 АТН @3А
UТА Т40 & М15
2 АТН @40
UТА Т42 & М15
2 АТН @42
UТА Т43 & М15
2 АТН @43
UТА Т44 & М15
2 АТН @44
UТА Т45 & М15
2 АТН @45
UТА Т46 & М15
2 АТН @46
UТА Т47 & М15
2 АТН @47
UТА Т48 & М15
2 АТН @48
;
;            ПОДТЕСТЫ НОВОГО РЕЖИМА :
UТА Т51
2 АТН @51
UТА Т52
2 АТН @52
UТА Т53
2 АТН @53
UТА Т54
2 АТН @54
UТА Т55
2 АТН @55
UТА Т56
2 АТН @56
UТА Т57
2 АТН @57
UТА Т5А
2 АТН @5А
UТА Т5В
2 АТН @5В
UТА Т5С
2 АТН @5С
UТА Т60
2 АТН @60
UТА Т70
2 АТН @70
UТА Т71
2 АТН @71
UТА Т72
2 АТН @72
UТА Т73
2 АТН @73
UТА Т74
2 АТН @74
UТА Т75
2 АТН @75
UТА Т76
2 АТН @76
UТА Т77
2 АТН @77
UТА Т78
2 АТН @78
UТА Т80
2 АТН @80
UТА Т81
2 АТН @81
UТА Т82
2 АТН @82
UТА Т83
2 АТН @83
UТА Т8С
2 АТН @8С
UТА Т41
2 АТН @41 ; 41-ЭКСТРАКОДЫ
UТА Т41_ЕМР
2 АТН @42 ; 42-ПУСТОЙ ЭКСТРАКОД
UТА Т41_ЕМР+1
2 АТН @43 ; 43 --"-- БЕЗ РЕЗ.ГР.
UТА TPROGI
2 АТН @05 ; 05-ПРОГР.ПРЕРЫВАНИЯ
UТА TINTER
2 АТН @3Е ; 3Е-ТЕГОВСКИЕ ПРЕР-Я
UТА PINTER
2 АТН @3F ; 3F-СТРАНИЧНЫЕ ПРЕР-Я
UТА LOOPINT
2 АТН @40 ; 40-ЦИКЛ.ПРЕР.ПО "КК"
UТА Т4А
2 АТН @4А ; 4А - ТТА,ТТХ
UТА TSEM
2 АТН @4В ; 4В - СЕМАФОРЫ
UТА Т90
2 АТН @90
UТА Т91
2 АТН @91
UТА Т94
2 АТН @94
UТА Т95
2 АТН @95
UТА Т96
2 АТН @96
UТА ТА0
2 АТН @А0
UТА ТА1
2 АТН @А1
UТА ТА2
2 АТН @А2
UТА ТА3
2 АТН @А3
UТА ТА4
2 АТН @А4
UТА ТА5
2 АТН @А5
UТА ТА6
2 АТН @А6
UТА ТА7
2 АТН @А7
UТА ТВ0
2 АТН @В0
UТА ТВ1
2 АТН @В1
UТА ТВ2
2 АТН @В2
UТА ТВ3
2 АТН @В3
UТА ТВ6
2 АТН @В6
UТА ТВ7
2 АТН @В7
UТА ТС0
2 АТН @С0
UТА ТС1
2 АТН @С1
UТА ТС2
2 АТН @С2
;=====================================
;        НЕРАБОТАЮЩИЕ ПОКА ПОДТЕСТЫ :
;=====================================
UТА -1
АТХ BLTEST+@А3
;
;
;          ИНИЦИАЛИЗАЦИЯ СЧЕТЧИКОВ :
;
INITCNT:15 VТМ NPASS
UТА
UTS -SТЕР ; FULL=-1
UTS LWS ; FULL=LWS
UTS ; NEW_REG
UTS ; HALTER
UTS ; ERCNT
UTS 7
АТХ -4 ; ОТКР.ПП-МАСКУ
XTS =Н0007 0000 0000 0000 ; CMDIV
UTS
UTS ; ВРЕМЕНА=0
UTS
UTS
UTS -1
АТХ CLOCK ; ЧАСЫ=0
15 VТМ MST
ХТА ="'@0А''@0D' *** "
XTS ="COMPLEX"
XTS ="TEST МКВ"
XTS ="-8601."
XTS ="VERSION:"
XTS BEGIN+ @45
XTS =",  NАМЕ:"
XTS BEGIN+ @47
XTS BEGIN+ @48
UTS MST
5 VJM OUTPUT
15 VТМ MST
UТА @0A0D
ASN @400-48
UTS MST
5 VТМ TBEGIN
JМР OUTPUT
;
;           А ЗДЕСЬ СИЛИН ДЕРЖИТ
;         СТАРОРЕЖИМНУЮ ЧАСТЬ ТЕСТА !
;
;************************************************
;
;        I.  РЕПЕРТУАР СТАРОЙ БЭСМ-6.
;        ============================
;
;************************************************
;
;     21,22 - ПРОВЕРКА КОМАНД  VZM , VIM , VТМ , UТМ:
;
Т21:N VТМ @21
2 VТМ 0
2 JMEQ *+1
JМР ERROR
:2 JMNE ERROR
2 JMNE ERROR
2 VТМ -1
2 JMEQ ERROR
:2 JMEQ ERROR
2 JMNE Т22
JМР ERROR
;
Т22:N VТМ @22
2 VТМ 1
3 VТМ -15
JМР *+2
:2 J+М 2 ; СДВИГ "1" ВЛЕВО
3 UТМ 1
:2 JMNE *-1
3 JMNE ERROR
13 VJM NEWTEST
;
;      23 - ПРОВЕРКА КОМАНДЫ  VLM :
;
Т23:N VТМ @23
N ХТА BLTEST
U1А Т24
2 VТМ -999
3 VТМ -1000
:3 UТМ 1
2 VLM *
2 JMNE ERROR
3 JMNE ERROR
:2 VLM ERROR ; А ЧТО ПРИ "0"
2 JMNE ERROR
;
;      СЛАБОЕ МЕСТО: КОРОТКИЙ ЦИКЛ
;
ХТА CFUL
14 VТМ -1023
:14 АТХ WS+1023
14 VLM *
ХТА
15 VТМ -1023
:15 ARX WS+1023
15 VLM *
АЕХ CFUL
U1А ERROR
14 VТМ -1023
13 VТМ -1023
:14 ARX WS+1023
14 VLM *
АЕХ CFUL
U1А ERROR
:13 ARX WS+1023
13 VLM *
АЕХ CFUL
U1А ERROR
12 VТМ -1023
11 VТМ -1023
:12 ARX WS+1023
12 VLM *
АЕХ CFUL
U1А ERROR
:11 ARX WS+1023
11 VLM *
АЕХ CFUL
U1А ERROR
10 VТМ -1023
9 VТМ -1023
:10 ARX WS+1023
10 VLM *
АЕХ CFUL
U1А ERROR
:9 ARX WS+1023
9 VLM *
АЕХ CFUL
U1А ERROR
8 VТМ -1023
7 VТМ -1023
:8 ARX WS+1023
8 VLM *
АЕХ CFUL
U1А ERROR
:7 ARX WS+1023
7 VLM *
АЕХ CFUL
U1А ERROR
6 VТМ -1023
5 VТМ -1023
:6 ARX WS+1023
6 VLM *
АЕХ CFUL
U1А ERROR
:5 ARX WS+1023
5 VLM *
АЕХ CFUL
U1А ERROR
4 VТМ -1023
3 VТМ -1023
:4 ARX WS+1023
4 VLM *
АЕХ CFUL
U1А ERROR
:3 ARX WS+1023
3 VLM *
АЕХ CFUL
U1А ERROR
2 VТМ -1023
:2 ARX WS+1023
2 VLM *
АЕХ CFUL
U1А ERROR
1 VТМ -1023
:1 ARX WS+1023
1 VLM *
1 VТМ @23
АЕХ CFUL
U1А ERROR
13 VJM NEWTEST
;
;        24 - ПРОВЕРКА КОМАНД  ATI,  IТА :
;
Т24:N VТМ @24
N ХТА BLTEST
U1А Т25
ХТА
2 VТМ -1
ATI 2
2 JMNE ERROR
ХТА CFUL
ATI 2
2 JMEQ ERROR
IТА 2
ATI 3
3 JMEQ ERROR
3 UТМ 1
3 JMNE ERROR
13 VJM NEWTEST
;
;          25 - ПРОВЕРКА КОМАНД  UТС, WТС :
;
Т25:N VТМ @25
N ХТА BLTEST
U1А Т26
UТС -1
3 VТМ
3 JMEQ ERROR
3 UТМ 1
3 JMNE ERROR
:UТС -1
:3 VТМ
3 JMEQ ERROR
3 UТМ 1
3 JMNE ERROR
:WТС СМ1
3 VТМ
3 JMEQ ERROR
3 UТМ 1
:3 JMNE ERROR
WТС СМ1
:3 VТМ
3 JMEQ ERROR
3 UТМ 1
3 JMNE ERROR
UТС -7
UТС 8
3 VТМ -2
3 JMEQ ERROR
3 UТМ 1
3 JMNE ERROR
WТС СМ1
UТС 8
3 VТМ -6
3 UТМ -1
3 JMNE ERROR
3 VТМ -1
:3 WТС CHESS+1
4 VТМ
IТА 4
3 АЕХ CHESS+1
ASN 64-33
U1А ERROR
3 VLM *-3
13 VJM NEWTEST
;
;        26 - ПРОВЕРКА КОМАНДЫ  VJM :
;
Т26:N VТМ @26
N ХТА BLTEST
U1А Т27
2 VJM Т26_1 ; СПРАВА
Т26_1:2 UТМ -Т26_1
2 JMNE ERROR
:2 VJM Т26_2 ; СЛЕВА
Т26_2:2 UТМ -Т26_2
2 JMNE ERROR
:2 VJM *+2
:UТС -1
:3 VТМ 1
3 JMEQ ERROR
:3 VТМ -1
2 VJM *+2
:3 VТМ -2
:3 UТМ 1
3 JMNE ERROR
13 VJM NEWTEST
;
;       27  - MTJ, J+М, VТМ, UТМ
;
Т27:N VТМ @27
N ХТА BLTEST
U1А Т2А
UТС -13
2 VТМ 14
IТА 2
АЕХ I1
U1А ERROR
2 VТМ 15
2 UТМ -15
IТА 2
U1А ERROR
3 VТМ 1
3 J+М 2
IТА 2
АЕХ I1
U1А ERROR
IТА 3
АЕХ I1
U1А ERROR
3 MTJ 2
IТА 2
АЕХ I1
U1А ERROR
IТА 3
АЕХ I1
U1А ERROR
13 VJM NEWTEST
;
;       2А,2В - ПРОВЕРКА МАТ.АДРЕСА 0
;                И МОДИФИКАТОРА 0 :
;
Т2А:N VТМ @2А
N ХТА BLTEST
U1А Т2В
2 VТМ -1
IТА 2
АТХ
:ХТА ; СЛЕВА
ATI 2
2 JMNE ERROR
2 VТМ -1
IТА 2
:АТХ
ХТА ; СПРАВА
ATI 2
2 JMNE ERROR
Т2В:N VТМ @2В
N ХТА BLTEST
U1А Т2С
2 VТМ -1
IТА 2
ATI
:IТА ; СЛЕВА
ATI 2
2 JMNE ERROR
2 VТМ -1
IТА 2
:ATI
IТА ; СПРАВА
ATI 2
2 JMNE ERROR
13 VJM NEWTEST
;
;           2С - РАБОТА С РЕГИСТРОМ РЕЖИМА
;                UZA, U1А, XTR, NTR, RТЕ, УТА
;
Т2С:N VТМ @2С
N ХТА BLTEST
U1А Т30
2 VТМ 63
3 VТМ -63
LТ0С2С:2 NTR
RТЕ 63
АТХ WS
ITS 2
ASN 64-41
15 АЕХ
U1А ERROR
U1А ERROR
XTR
RТЕ 63
UZA ERROR
АОХ
U1А ERROR
XTR WS
RТЕ 63
ITS 2
ASN 64-41
15 АЕХ
U1А ERROR
U1А ERROR
;
15 VТМ WS+1
15 XTR
15 VТМ MST
RТЕ 63
ITS 2
ASN 64-41
15 АЕХ
U1А ERROR
2 UТМ -1
3 VLM LТ0С2С
;
NTR 63
RТЕ @21
АЕХ Е42Х
U1А ERROR
NTR 0
UZA ERROR
:U1А *+1
JМР ERROR
:NTR 7 ; ЛОГ.ГР.
U1А ERROR
NTR 11 ; ГР.УМН.
UZA ERROR
АОХ
U1А ERROR
NTR 19 ; ГР.СЛОЖ.
U1А ERROR
ХТА CFUL
UZA ERROR
NTR 11
U1А ERROR
NTR 19
UZA ERROR
;
NTR 24 ; ГС+ГУ=ГС
UZA ERROR
NTR 12 ; ГУ+ГЛ=ГУ
U1А ERROR
ХТА I1
NTR 20 ; ГС+ГЛ=ГС
U1А ERROR
ХТА CFUL
АЕХ
ХТА
УТА
АЕХ CFUL
U1А ERROR
;       NTR 11 ; ЭТЛ БЫЛО В
;       УТА 1025 ; НОВОМ ТЕСТЕ
;       АЕХ =H002F FFFF FFFF FFFF
;       U1А ERROR ; И ЕЩЕ НЕ РАБОТАЕТ
ARX       ; ДОЛЖНА
UZA ERROR ; ПОЛУЧИТЬСЯ
ARX CFUL   ; ГР.УМН.
U1А ERROR
ААХ CFUL   ; ЛОГ.ГР.
UZA ERROR
13 VJM NEWTEST
;
;        30:39 - МАГАЗИННОЕ ОБРАЩЕНИЕ
;       ===============================
;        30: 15 АТХ   31: XTS   32: ITS
;        33: 15 ХТА   34: SТХ   35: STI
;        36: 15 АТХ А      37: 15 ХТА А
;        38: 15 WТС        3А: 15 АОР(РАЗНЫЕ)
;
Т30:N VТМ @30
N ХТА BLTEST
U1А Т40
АТХ WS
АТХ WS+1
АТХ WS+2
15 VТМ WS+1
ХТА CFUL
15 АТХ
15 UТМ -2-WS
13 VJM CHSTAKE
;
Т31:N VТМ @31
15 VТМ WS
ХТА
XTS CFUL
XTS
XTS
15 UТМ -3-WS
13 VJM CHSTAKE
;
Т32:N VТМ @32
15 VТМ WS
IТА
ITS
ХТА CFUL
ITS
ITS
15 UТМ -3-WS
13 VJM CHSTAKE
;
Т36:N VТМ @36
15 VТМ WS-1
ХТА
15 АТХ 1
15 АТХ 3
ХТА CFUL
UТС 2
15 АТХ
15 UТМ 1-WS
13 VJM CHSTAKE
;
Т33:N VТМ @33
ХТА
АТХ WS+1
15 VТМ WS+3
15 ХТА
ATI 2
ASN 64+24
ATI 3
15 ХТА
ATI 4
ASN 64+24
ATI 5
15 ХТА
ATI 6
ASN 64+32
ATI 7
13 VJM CHST2E
;
Т34:N VТМ @34
15 VТМ WS+3
SТХ WS+4
ATI 2
ASN 64+32
ATI 3
SТХ WS+4
ATI 4
ASN 64+32
ATI 5
SТХ WS+4
ATI 6
ASN 64+32
ATI 7
13 VJM CHST2E
;
Т35:N VТМ @35
15 VТМ WS+3
STI 6
ATI 6
ASN 64+32
STI 7
ATI 4
ASN 64+32
STI 5
ATI 2
ASN 64+32
ATI 3
13 VJM CHST2E
;
Т37:N VТМ @37
15 VТМ WS+3
UТС -1
15 ХТА
ATI 6
ASN 64+32
ATI 7
15 ХТА -2
ATI 4
ASN 64+32
ATI 5
15 ХТА -3
ATI 2
ASN 64+32
ATI 3
15 UТМ -3
13 VJM CHST2E
;
Т38:N VТМ @38
4 VТМ 1
7 VТМ -1
3 VТМ -1
15 VТМ WS+3
15 WТС
6 VТМ
15 WТС
4 VТМ
15 WТС
2 VТМ
13 VJM CHST2E
15 VТМ WS
ХТА I1
XTS
XTS I2
XTS I3
15 WТС -2
2 VТМ
2 JMNE ERROR
15 UТМ -3-WS
15 JMNE ERROR
;
;        РАНЕЕ ЗАБЫТЫЕ КОМАНДЫ :
Т3А:N VТМ @3А
15 VТМ WS
ХТА CHESS
XTS CHESS+1
15 ААХ
U1А ERROR
ХТА CHESS
XTS CHESS+1
15 ARX
XTS CHESS
XTS CHESS+1
15 АОХ
15 АЕХ
U1А ERROR
ХТА CHESS
XTS CHESS+1
XTS CFUL
15 АРХ
15 AUX
АЕХ CHESS
U1А ERROR
XTS CFUL
15 АСХ
АЕХ I48
U1А ERROR
XTS CFUL
15 ANX
АЕХ I1
U1А ERROR
ХТА CFUL
15 АТХ
15 ASX
U1А ERROR
13 VJM NEWTEST
;
;        40  - ААХ,АОХ,АЕХ
;
Т40:N VТМ @40
N ХТА BLTEST
U1А Т42
ХТА CFUL
ААХ
U1А ERROR
ХТА CFUL
ААХ CFUL
АЕХ CFUL
U1А ERROR
ХТА CHESS
ААХ CHESS
АЕХ CHESS
U1А ERROR
ХТА CHESS
ААХ CHESS+1
U1А ERROR
ХТА CHESS
АОХ CHESS+1
АЕХ CFUL
U1А ERROR
13 VJM NEWTEST
;
;        42   -  ARX
;
Т42:N VТМ @42
N ХТА BLTEST
U1А Т43
ХТА I11
ARX I1
АЕХ I12
U1А ERROR
ХТА CFUL
ARX I1
АЕХ I1
U1А ERROR
ХТА CFUL
ARX CFUL
АЕХ CFUL
U1А ERROR
13 VJM NEWTEST
;
;         43   -  АРХ, AUX
;
Т43:N VТМ @43
N ХТА BLTEST
U1А Т44
ХТА CHESS
АРХ CFUL
AUX C0FUL
АЕХ CHESS+1
U1А ERROR
ХТА CHESS
АРХ CHESS+1
U1А ERROR
ХТА CHESS
АРХ CHESS
AUX CHESS+1
АЕХ CHESS+1
U1А ERROR
ХТА CFUL
AUX CHESS+1
АЕХ CHESS+1
U1А ERROR
13 VJM NEWTEST
;
;          44   -  АСХ, ANX
;
Т44:N VТМ @44
N ХТА BLTEST
U1А Т45
АСХ
U1А ERROR
ХТА CFUL
АСХ
АЕХ I48
U1А ERROR
ХТА CHESS+1
АСХ IМ24
АЕХ I1
U1А ERROR
12 VТМ -48
11 VТМ 48
ХТА I1
TANXE:11 JMNE *+1
ХТА
:АТХ WS
ANX
ITS 11
15 АЕХ
U1А ERROR
ХТА WS
ASN 64-1
ITS 11
ААХ I7
15 АОХ
11 UТМ -1
12 VLM TANXE
ХТА
ANX CFUL
АЕХ CFUL
U1А ERROR
14 VТМ @201
IТА 14  ; ПРОВЕРКА
ANX CFUL ; ЗАСЫЛКИ
УТА
АЕХ C008U ; ОСТАТКА
U1А ERROR ; В РМР
13 VJM NEWTEST
;
;        45  -  ASN, ASX
;
Т45:N VТМ @45
N ХТА BLTEST
U1А Т46
12 VТМ -48
11 VТМ 48
TSFT1E:ХТА C8U
11 ASN 64-1
ANX
ITS 11
15 АЕХ
U1А ERROR
11 UТМ -1
12 VLM TSFT1E
12 VТМ -48
11 VТМ 48
TSFT2E:ХТА I1
11 ASN 64-48
ANX
ITS 11
15 АЕХ
U1А ERROR
11 UТМ -1
12 VLM TSFT2E
ХТА CFUL
ASX CFUL
U1А ERROR
ХТА CHESS+1
ASX C0FUL
АЕХ CHESS
U1А ERROR
ХТА CFUL     ; А ЧТО
ASN 64-12 ; ПОПАДЕТ
УТА    ; В РМР
АЕХ CFFF    ; ПРИ
U1А ERROR  ; СДВИГАХ ?
ХТА CFUL
ASN 64+4
УТА
АЕХ CFU
U1А ERROR
13 VJM NEWTEST
;
;          46 - Е+N, Е-N, Е+Х, Е-Х
;
Т46:N VТМ @46
N ХТА BLTEST
U1А Т47
12 VТМ -@7Е
ХТА CFE8U
АТХ WS
L76Е:ХТА WS
Е+N 64-1
АТХ WS
ASN 64+41
ATI 14
12 J+М 14
14 JMNE ERROR
12 VLM L76Е
ХТА WS
Е-N 64+1
UZA ERROR
12 VТМ -@7Е
ХТА C008U
АТХ WS
11 VТМ -1
L761Е:ХТА WS
Е-Х C7E8U
АТХ WS
ASN 64+41
ATI 14
11 J+М 14
14 JMNE ERROR
11 UТМ -1
12 VLM L761Е
ХТА WS
Е+Х C008U
АЕХ C7E8U
U1А ERROR
13 VJM NEWTEST
;
;        47 - А+Х, А-Х, Х-А
;
Т47:N VТМ @47
N ХТА BLTEST
U1А Т48
NTR 3
14 VТМ 64
IТА 14
А-Х I65
UZA ERROR
А+Х I1
U1А ERROR
АОХ
U1А ERROR
ХТА I2
Х-А I1
А-Х IМ1
U1А ERROR
АОХ
U1А ERROR
ХТА I2
XTS I1
XTS I2
XTS I3
15 А-Х ; 3-2=1
U1А ERROR
15 А+Х ; 1+1 = 2
15 Х-А ; 2-2 = 0
U1А ERROR
АОХ
U1А ERROR
ХТА CDU40L; 64
А-Х CDU42L; 66
UZA ERROR
А+Х C848U; 2.
U1А ERROR
АОХ
UZA ERROR
АЕХ CDU; I0
U1А ERROR
NTR 2
ХТА C848U; 2.
XTS C84CU; 3.
XTS C848U; 2.
XTS C84CU; 3.
15 А+Х ; 3+2
15 А-Х ; 5-3
15 Х-А ; 2-2
U1А ERROR
АОХ
13 VJM NEWTEST
;
;        48  - А*Х, А/Х
;
Т48:N VТМ @48
N ХТА BLTEST
U1А OLDFIN
NTR 3
ХТА CDU5L
А*Х C5UDL; 13/2**64
15 АТХ
УТА 64
SТХ WS
АЕХ CAU
U1А ERROR
ХТА WS
АЕХ CAU41L; 65/2**24
U1А ERROR
ХТА C5U5L; 5/2**64
А*Х CIM13; = -65
15 АТХ
УТА 64
SТХ WS
АЕХ CA1UFS
U1А ERROR
ХТА WS
Е+N 64+24
АЕХ CD0FSBF; -65!-
U1А ERROR
NTR 2
ХТА C848U; 2.
А*Х C84CU; 3.
АТХ WS
АЕХ C84CU; 3.
АЕХ C02U
U1А ERROR; !=6
ХТА WS; ВОССТ. А=6.
А/Х C84CU; 3.
АЕХ C848U; 2.
U1А ERROR
13 VJM NEWTEST
;--------------------------------------
OLDFIN:JМР Т51 ; *** В ТЕСТ НОВОГО РЕЖИМА
;--------------------------------------
;
CHSTAKE:15 JMNE ERROR
ХТА WS
ATI 2
2 JMNE ERROR
ASN 64+24
ATI 2
2 JMNE ERROR
ХТА WS+2
ATI 2
2 JMNE ERROR
ASN 64+24
ATI 2
2 JMNE ERROR
ХТА WS+1
ATI 2
ASN 64+24
ATI 3
2 UТМ 1
2 JMNE ERROR
3 UТМ 1
3 JMNE ERROR
 ХТА UFSL1
 АТХ WS
 АТХ WS+1
 АТХ WS+2
13 JМР
CHST2E:15 UТМ -WS
15 JMNE ERROR
2 UТМ -1
2 JMNE ERROR
3 UТМ 1
3 JMNE ERROR
4 JMNE ERROR
5 JMNE ERROR
6 UТМ -1
6 JMNE ERROR
7 UТМ 1
7 JMNE ERROR
13 JМР
;
;       КОНСТАНТЫ
;
I1:АТХ
АТХ 1
I2:АТХ
АТХ 2
I3:АТХ
АТХ 3
I11:АТХ
АТХ 11
I12:АТХ
АТХ 12
I7:АТХ
АТХ 7
I48:АТХ
АТХ 48
CFUL:15 VLM @FFFFF
15 VLM @FFFFF
СМ1:15 VLM @FFFFF
15 VLM @FFFFF
UFSL1:15 VLM @FFFFF
АТХ 1
C0FUL:7 VLM @FFFFF
15 VLM @FFFFF
IМ24:15 VLM @FFFFF
15 VLM @FFFE8
C8U:8 АТХ
АТХ
CFU:15 АТХ
АТХ
CFFF:АТХ
АТХ @FFF
Е42Х:4 ATI
АТХ
CFE8U:15 JMNE
АТХ
C008U:0 ХТА
АТХ
C7E8U:7 JMNE
АТХ
I65:АТХ
АТХ 65
IМ1: NTR @FFFF
15 VLM @FFFF
CDU40L:13 АТХ
АТХ @40
CDU41L:13 АТХ
АТХ @41
CDU42L:13 АТХ
АТХ @42; 66
;C828U:8 *50
;АТХ
CDU:13 АТХ
АТХ
C848U:8 ХТА @7000
АТХ ; 2.
C84CU:8 AVX @7000
АТХ ; 3.
CDU5L:13 АТХ
АТХ 5
C5UDL:5 АТХ
АТХ @D
C5U5L:5 АТХ
АТХ 5
CAU:10 АТХ
АТХ
CAU41L:10 АТХ
АТХ @41
;C86AU:8 *52 @7000
;АТХ
;C88DU:8 *71 @7000
;АТХ
C02U:ATI
АТХ
CIM13:13 NTR @FFF
15 VLM @7FF3
CA1UFS:10 NTR @7FFF
15 VLM @7FFF
CD0FSBF:13 А*Х @FFF
15 VLM @7FBF; -65!-
;CIM65:13 *77 @FFF
;15 VLM @7F57
CHESS:10 UТМ @ААААА
10 UТМ @ААААА
АТХ
АТХ
;
;    КОНЕЦ ТЕСТА ЭМУЛЯЦИИ
;
TBEGIN:15 VТМ MST
RMOD @1С14 ; СЬЕМ ЧАСОВ
AEU -1 ; ИНВЕРСИЯ
АТХ WS
RMOD @15
ASN @400-32
АТХ WS+1
RMOD @16
ААХ =Н0000 0000 FFFF FFFF
АОХ WS+1
AEU -1
АТХ WS+1 ; ВРЕМЯ ОБР.ПРЕР.
2 VТМ -1
ХТА ="'@0D''@0D'ROUND-"
XTS NPASS
ASN @400+48
14 VJM DНЕХ8
ASN @400-32
АОХ ="'0''0''0''0'. Т="
LTIM:
2 XTS WS+1
А/U @400 ; "1" = 1 МСЕК.
14 VJM DНЕХ8
2 XTS CPTIM+1
А/U @400
2 XTS WS+1 ; ОБНОВЛЕНИЕ
2 АТХ CPTIM+1 ; ВРЕМЕН
А/U @400
15 А-L
14 VJM DНЕХ8
ASN @400-24
ASN @400+16
АОХ =" ('0''0''0''0''0')"
XTS ="  Т/INT="
2 VLM LTIM
ХТА =". CLOCK:"
XTS ="00.00.00"
15 MTJ 13
13 MSN @400-3
XTS =Z".00'@0A''@0D'"
XTS CLOCK
AEU -1
АТХ CPTIM+2
A/U 10000 ; 1/100 CEK.
A/U 360000
ATI 2 ; "H"
UTA
AOY
A/U 6000
ATI 3 ; "M"
UTA
AOY
A/U 100
ATI 4 ; "S"
UTA
AOY
ATI 5 ; "SS"
14 VTM -3
:14 ITA 5
A/U 10
AOU @30 ; "0"
13 ATB
UTA @30
AOY
13 ATB 1
13 UTM 3
:14 VLM *-4
5 VТМ NEWTESTI
13 VТМ Т51;ОБХОД РЕЖИМА ЭМУЛЯЦИИ
XTA BLTEST + @21
:JANE *+2 ; - ЦЕЛИКОМ
ХТА NEW_REG
:JALT *+1
13 VТМ Т21 & М15 ; НАЧИНАЕМ С РЕЖИМА ЭМУЛЯЦИИ
:UТА MST
JМР OUTPUT
;
;
TLOOP:IТА 13 ; ДЛЯ ЗАЦИКЛИВАНИЯ
АТН NPASS<<1 +1 ; ПОДТЕСТА
UТА =Z"- ОК.'@А''@D'"
5 VJM OUTPUT
;
NEWTESTI:UТА ERRINT ; ПЕРЕХВАТ
2 VТМ -63     ; ВСЕХ ПРЕРЫ-
:2 АТХ ADR+63 ; ВАНИЙ - НА
2 VLM *       ; "ERRINT"
UТА EXTR
2 VТМ -3
:2 АТХ ADR+67
2 VLM *
14 VТМ WORK_REG ; РАБ.РЕЖИМ
12 VJM SETGR
;
NEWTEST:
ХТА CON_IN
JANE ANAL ; БЫЛ ВВОД
ХТА NPASS
ATI 2
:2 JMNE *+1 ; ОДИН ТЕСТ
13 MTJ 2 ; ВСЕ ПОДРЯД
:15 VТМ MST ; УСТ.МАГАЗИНА
ARX =Н0000 0001 0000 0000
АТХ NPASS
14 VТМ MAIN_REG ; УСТ., ЕСЛИ
14 CLRR @Е0000 ; НАДО, ФАКУЛЬТ.
WТС NEW_REG ; РЕЖИМ (НАПР.РШ)
SETR
2 JМР
;
;       ОБРАБОТКА ВНЕШНИХ ПРЕРЫВАНИЙ :
;      ================================
;
EXTINT:RMOD @1802
15 АТХ 2 ; FOR TEST-05
JМР EXTINT1
;
ENDTIM:UТА QUANT
NG WMOD @14
UТА -1 ; ПОДКАЧКА ТАЙМЕРА
WMOD @14 ; 0-Й ГРУППЫ
;
RЕТ_INT:
CMON -1 ; ***
RMOD @1802
EXTINT1:ААХ WELLINT
WMOD @1802
:JANE *+1
NG IJP
:AAU @F0000
JAEQ PULT
ANU -1
ATI 2
RMOD @1802
2 AEN
WMOD @1802
2 UТМ 41-65
2 JMEQ ENDTIM ; 40-Й РАЗРЯД
:N VТМ 5
JМР INT ; 41-ПРОГРАММНОЕ
;
PULT:WMOD @1С19 ; СБРОС КЭША
SMON @80 ; ***
ХТА PPINF
ASN @400+8
AAU @FF
JAEQ RETPULT ; ЭТО ВВОД
ATI 3 ; КОНЕЦ ВЫВОДА
UТА -МС
:ATI 11
11 ВТА QUE<<3
JAEQ BADPULT ; НЕТ ЗАЯВКИ
ATI 5
3 J-М 5
5 JMNE *-2
3 UТС -1
3 ХТА JОВ-1
AAN 64-39
:JANE *+1
HLT @39
:3 АТХ JОВ+511 ; -ДУБЛЬ
3 ВТА QUE<<3 ; ПРОДВИЖКА
11 АТВ QUE<<3 ; ОЧЕРЕДИ
3 ВТА QUE<<3+4096
11 АТВ QUE<<3+4096 ; -ДУБЛЬ
ВТА QUE<<3
3 АТВ QUE<<3
ВТА QUE<<3+4096
3 АТВ QUE<<3+4096 ; -ДУБЛЬ
IТА 3      ; В СПИСОК
АТВ QUE<<3 ; СВОБ.ЗАЯВОК
АТВ QUE<<3+4096 ; -ДУБЛЬ
;
RETPULT:
UТА
АТХ PPINF
RMOD @1802 ; СИЛИН СТАВИЛ
AAU @FFFF1 ; СРАЗУ 3
WMOD @1802 ; ЕДИНИЧКИ !
JМР RЕТ_INT
BADPULT:HLT @40
JМР RETPULT
;
;          ОЖИДАНИЕ ВВОДА С КОНСОЛИ :
;
:ХТА CON_IN
JAEQ *
;
INPUT:
WMOD @1С19
НТА REFER<<1
JANE DPORT
ХТА CON_IN
13 JANE
5 VТМ INPUT-1
UТА =Z" WAIT> "
;
;
;
;        ВЫДАЧА СТРОКИ НА КОНСОЛЬ :
;        ПОРТЯТСЯ РЕГИСТРЫ: 11,12,14
;
OUTPUT:ATI 11 ; АДРЕС ТЕКСТА
WMOD @1С19
НТА REFER<<1
JANE DPORT
14 VТМ LIMIT
SETR @80 ;   SMON @80 ; ***
UТА -МС
:ATI 12
12 ВТА QUE<<3
JAEQ *+2
14 VRM *-1
ХТА LAST_OUT+1
АТХ LAST_OUT
:CLRR @FFF7F ; CMON @FFF7F ; ***
OUTPUT11:RMOD @1819
ASN @400-56 ; ПРОЦЕСС
АОХ LAST_OUT ; АДР.В БУФЕРЕ
АТХ LAST_OUT+1
ATI 12
А+U CON_OUT-REFER ;
AON 64-40 ; +ГОТОВНОСТЬ
АТХ LAST_JОВ ; ЗАЯВКА
:11 ХТА
12 АТХ CON_OUT ; ПЕРЕПИСЬ
11 UТМ 1       ; В КОЛЬЦЕВОЙ
12 UТМ 1-LО
:12 JMLT *+1
12 VТМ -LО
:12 UТМ LО
AAU @FF
JANE *-4
5 UТС
14 JMLE ; СВЕРХ ЛИМИТА !
SETR @80 ; SMON @80 ; ***
IТА 12 ; СВОБ.
АТХ LAST_OUT ; СЛОВО
:ВТА QUE<<3
ATI 14 ; СВОБ.ЭЛ-Т
14 ВТА QUE<<3
АТВ QUE<<3 ; СНЯЛИ С ГОЛОВЫ
АТВ QUE<<3+4096 ; -ДУБЛЬ
ХТА LAST_JОВ
14 UТС -1
14 АТХ JОВ-1
14 АТХ JОВ+511 ; -ДУБЛЬ
UТА -МС
:ATI 11
11 ВТА QUE<<3
JANE *-1
14 АТВ QUE<<3
14 АТВ QUE<<3+4096 ; -ДУБЛЬ
IТА 14
11 АТВ QUE<<3
11 АТВ QUE<<3+4096 ; -ДУБЛЬ
CLRR @FFF7F ; CMON @FFF7F ; ***
5 JМР
;
;---    АНАЛИЗ ВВЕДЕННОЙ ДИРЕКТИВЫ :
;       ПРОИЗВОДИТСЯ В КОНЦЕ КАЖДОГО ПОДТЕСТА.
;
;   QDHLTON    - УСТАНОВИТЬ "HLT" ПРИ ОШИБКАХ
;   QDHLTOFF   - СНЯТЬ "HLT"  (КРОМЕ ТОГО, ОН
;                СНИМАЕТСЯ ПРИ ПЕРЕЗАПУСКЕ).
;   QDFULL     - УСТАНОВКА ШАГА=1 В ТЕСТЕ
;                СТРАНИЧНЫХ ПРЕРЫВАНИЙ
;   QDMEMO     - ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА
;                ИМЕЮЩИХСЯ СТРАНИЦ  ОЗУ
;   QDMEM2     - ДВУСТОРОННЯЯ ДОЛБЕЖКА
;                (ОТ ЦП И ПП ОДНОВРЕМЕННО)
;   QDTEST     - ПРОДОЛЖЕНИЕ РАБОТЫ
;                КОМПЛЕКСНОГО ТЕСТА
;   QDDELNN    - БЛОКИРОВКА ПОДТЕСТА 
;   QDREPNN    - ЗАЦИКЛИВАНИЕ ПОДТЕСТА  :
;               60 : МАГАЗИННЫЕ КОМАНДЫ;
;               70 : РОСПИСЬ И ЧТЕНИЕ ПАМЯТИ;
;               41 : ТЕСТ ЭКСТРАКОДОВ;
;               42 : ПУСТОЙ ЭКСТРАКОД С РЕЗ.ГРУППОЙ
;               43 : ---"---  ---"---  БЕЗ ОНОЙ
;               05 : ТЕСТ ПРОГРАММНЫХ ПРЕРЫВАНИЙ;
;               3Е : ТЕСТ ТЕГОВСКИХ ПРЕРЫВАНИЙ
;               3F : ТЕСТ СТРАНИЧНЫХ ПРЕРЫВАНИЙ
;               4В : ТЕСТ СЕМАФОРНЫХ КОМАНД;
;                     ... : ПРОЧАЯ МЕЛОЧЬ.
;
OKDIR:UТА =Z" - ОК. "
5 VJM OUTPUT
ANAL:15 VТМ MST
13 VJM INPUT
UTS
SТХ CON_IN
;
N VТМ @FF ; ***
АТХ WS
АЕХ ="FULL"
ASN @400+32
JAEQ FULLSTEP
ХТА WS
АЕХ ="TEST"
ASN @400+32
JAEQ STNDSTEP
ХТА WS
АЕХ ="HLTOFF"
ASN @400+16
JAEQ SETHLT+1
ASN @400+16
JAEQ SETHLT
ХТА WS
АЕХ ="МЕМО"
ASN @400+32
13 VТМ SС_МЕМ
JAEQ MEMORY
AEU @7D
JAEQ MEMORY2 ; "МЕМ2"
ХТА WS
АЕХ ="REPEATNN"
ASN @400+40
5 VТМ TREP
JAEQ МАКЕ_NТ
ХТА WS
АЕХ ="DELETENN"
ASN @400+40
5 VТМ TDEL
JANE BADDIR
МАКЕ_NТ:ХТА WS
ASN @400+24
AAU @4040
ASN @400+3
15 АТХ
ASN @400+3
15 АОХ
ASN @400-24
ARX WS
АРХ =Н0000 000F 0F00 0000
ASN @400+56
ATI 13
13 НТА ATEST<<1
5 JМР
;
TDEL:UТА -1
13 АТХ BLTEST
JМР OKDIR
;
TREP:EXTF 64-20
13 АТН ATEST<<1
UTS
13 SТХ BLTEST
ATI 13
13 JMNE TLOOP
;
BADDIR:UТА =Z"  NОТ UND:"
5 VJM OUTPUT
ХТА WS
АТХ CON_IN
UТА CON_IN
5 VJM OUTPUT
UТА
АТХ CON_IN
JМР ANAL
;
SETHLT:UТА @ЕЕЕ
:АТХ HALTER
JМР OKDIR
;
FULLSTEP:UТА -1
STNDSTEP:AOU -SТЕР
АТХ NEXPAG
UТА LWS
АТХ LRW
ХТА NPASS
ААХ =HFFFF 0000 0000 0000
АТХ NPASS
JМР TBEGIN
;
;         ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА ПАМЯТИ :
;
MEMORY:UТА NOMEMOR
АТХ ADR
АТХ ADR+1
АТХ ADR+2
АТХ ADR+3
3 VTMF MSCALE
UТА -1
2 VТМ 15
:2 АТХ MSCALE
2 VRM *
ХТА =НС000 0000 0000 0000
АТХ MSCALE+15 ; ПОСЛ.БЛОК "ОЗУ"
2 VТМ 1023-20-62
4 VТМ @5000 ; 20-Й ФИЗ.ЛИСТ
3 UТМ 20
ТТА BEGIN+ @3FF
АТХ РАВ   ; СПАСЕНИЕ ЯЧЕЙКИ
УТХ РАВ+1 ; ИЗ 0-ГО ЛИСТА
;
RMOD @400
АТХ РАВ+2
LМЕМ:4 UТА @3FF ; ПРИПИШЕМ
WMOD @400 ; К 0 МАТ.ЛИСТУ
SETR @178 ; БЛОК.ТЕГ.ПРЕР.
UТА
АТХ @3FF ; ***
UТА -1
ХТА @3FF ; ***
JAEQ ELMEM+1
ELMEM:3 CLRF ; ИСКЛЮЧ.
3 CLRF ; ИЗ ШКАЛЫ
:CLRR @FCE87 ; БЗО,БЗЗ+ТЕГОВСКИЕ
ТТА BEGIN+ @3FF
JAEQ ERROR ; ПОРЧА ПАМЯТИ
3 UТМ 1
4 UТМ @400
2 VRM LМЕМ ; СЛЕД.ЛИСТ
3 VТМ 15
ХТА РАВ+2
WMOD @400
13 JМР
;
SС_МЕМ:3 ХТА MSCALE
JAEQ ESC_МЕМ
IТА 3
14 VJM DНЕХ8
ASN @400-56
ASN @400+24
АОХ ="'@А''@D' '0' :  "
АТХ MST+10
3 ХТА MSCALE
14 VJM DНЕХ8
АТХ MST+12
3 ХТА MSCALE
ASN @400+32
14 VJM DНЕХ8
АТХ MST+11
UТА
АТХ MST+13
UТА MST+10
5 VJM OUTPUT
ESC_МЕМ:3 VRM SС_МЕМ
JМР OKDIR
;
;       ДВУСТОРОННЯЯ ДОЛБЕЖКА :
;
MEMORY2:UТА =Z"'@0А''@0D'BEGIN SРЕС.TEST  "
5 VJM OUTPUT
:ВТА HEADS<<3
JANE * ; ЖДЕМ
1 VТМ
1 RMOD @1С15
1 ATI 10
1 UТА -1
1 WMOD @1С15
1 UТА ДОЛБЛИСТ
1 АТХ ДОЛБЕЖКА
;
:15 VТМ @ААААА
1 JМР *
;
:1 UТА
1 АТХ ДОЛБЕЖКА
2 VТМ @7FFFF
:1 ASN @400+50
2 VRM *
1 IТА 10
1 WMOD @1С15
5 VТМ ANAL
1 IТА
:1 JAEQ *+1
1 HLT 2
:1 UТА =Z"  END SРЕС.TEST.'@0D''@0А'"
1 JМР OUTPUT
;
;        ТЕСТ ПАМЯТИ ДВОЙНОГО ДОСТУПА
;        ============================
;      ПП РАСПИСЫВАЕТ 16-БИТНЫЕ СЛОВА 0-FFB
;      ЗАТЕМ ПОСЫЛАЕТ В FFC,FFD  ЭТАЛОН, А
;      В FFE,FFF - КОД РАБОТЫ ЦП :
;       0 - ПАМЯТЬ РАСПИСАНА ЭТАЛОНОМ.
;           ЦП ДОЛЖЕН СРАВНИВАТЬ СЛОВА 0-FFB
;           С ЭТАЛОНОМ. МОЖНО И ПИСАТЬ ТУДА
;           ТОТ ЖЕ САМЫЙ ЭТАЛОННЫЙ КОД.
;       1 - ПАМЯТЬ РАСПИСАНА КОДОМ, ОТЛИЧНЫМ ОТ
;           ЭТАЛОНА.  ЦП РАСПИСЫВАЕТ ЕЕ ЭТАЛОНОМ,
;           А ПОТОМ ЧИТАЕТ САМ.
;      В ОБОИХ СЛУЧАЯХ ПП СКАНИРУЕТ ПАМЯТЬ В ТЕЧЕНИЕ
;      2 МИН., А ПОТОМ ОБНУЛЯЕТ FFC,FFD.  ЭТО ДЛЯ ЦП
;      ЯВЛЯЕТСЯ СИГНАЛОМ ОБ ОКОНЧАНИИ СПЕЦ.ТЕСТА.
;
;      ПП РАБОТАЕТ ПО ВОЗРАСТАНИЮ АДРЕСОВ: 0--->FFB
;      ЦП РАБОТАЕТ ПО УБЫВАНИЮ АДРЕСОВ : FFB--->0
;
;
DPORT:
WMOD @1С19
QТА ДОЛБЕЖКА<<2 +1 ; ЖДЕМ КОНЦА
:JAEQ DPORT ; РОСПИСИ ПАМЯТИ
1 VТМ 100000
:1 VRM * ; МЕЛКАЯ ПАУЗА
1 VТМ 1 ; СЧ.ПРОХОДОВ
НТА ДОЛБЕЖКА<<1+1 ; НАЧНЕМ С
JAEQ WRPORT ; ЧТЕНИЯ
НТА ДОЛБЕЖКА<<1
2 VТМ 2045
:2 АТН REFER<<1
2 VRM *
WMOD @1С19
UТА 1 ; - С ЗАПИСИ
WRPORT:ATI 4
2 VТМ 2045
;
RWPORT:WMOD @1С19
НТА ДОЛБЕЖКА<<1
ATI 5 ; ЭТАЛОН
JAEQ TEST ; - КОНЕЦ РЕЖИМА
АЕН REFER<<1
JANE DPORT+1 ; СМЕНА ЭТАЛОНА
IТА 5
4 JMEQ REPORT
2 АТН REFER<<1
JМР LPORT
REPORT:2 АЕН REFER<<1
JAEQ LPORT
2 MTJ 3
3 MSN @400+1
5 UТУ
HLT 2
LPORT:2 VRM RWPORT
IТА 4
AEU 1
1 VLM WRPORT
;
;
;        ТЕСТ ОБНАРУЖИЛ ОШИБКУ.
;        **********************
;
;
ERRINT1:IТА N
NG WMOD 4 ; НОМ.ПРЕР.
UТА ; НАДО: RMOD @1С
NG WMOD @1С
NG RMOD 6
АТХ ER6
;
SPECIAL:NG RMOD @1С ; Р О П
NG VТМ 1<<5 ; ГРУППА = 1 !!!
NG WMOD 5
IТА RI
NG WMOD 3
IТА IА
NG WMOD 2
RMOD @1802
ААХ WELLINT
AON 64-41
AEN 64-41
WMOD @1802
UТА РУГАНЬ
JМР PUT_РС
;
;
;         ПЕРВЫМ ДЕЛОМ - ВСТАНЕМ, ЧТОБЫ МОЖНО БЫЛО
;         ПОСМОТРЕТЬ РЕГИСТРЫ. ПОТОМ МОЖНО ДАТЬ "GО"
;
ERRINT:WТС HALTER
HLT ; ***
RMOD @1818
JAEQ ERRINT1
IТА 6
АТХ ER6
;
ERROR:WТС HALTER
HLT ; ***
:UТА SPECIAL
АТХ ADR+4
4 VТМ ; "МАТ.РЕЖ."
UТА
WMOD @24
WMOD @1С13 ; П/П ДЛЯ ПРОТ.РОП
;       2-ИАОП, 3-СЧАС, 4-NINT, 5-РОП
РУГАНЬ:15 VТМ MST
WТС ER6
6 VТМ
UТА 1
ARX ERCNT
АТХ ERCNT
14 VJM DНЕХ8
ААХ =Н0000 0000 00FF FFFF
ASN @400-24
АОХ ="'@А''@D''0''0''0' - "
XTS ="ERROR IN"
ITS N
14 VJM DНЕХ8
AAU @FFFF
АОХ =" TEST-'0''0'"
4 JMEQ РУГАНЬ1
ITS 4
3 MTJ 5
14 VJM DНЕХ8
AAU @FFFF
АОХ ="  INT:'0''0'"
2 JMEQ РУГАНЬ1
XTS ="  IАОР: "
ITS 2
14 VJM DНЕХ8
РУГАНЬ1:XTS ="   ADR: "
ITS 5
14 VJM DНЕХ8
6 JMEQ РУГАНЬ2
ASN @400-24
АОХ =Н0000 0000 002С 2020
UTS
АТХ ER6
IТА 6
14 VJM DНЕХ8
РУГАНЬ2:ASN @400-16
AOU @0A0D
ASN @400-8
UTS MST
5 VJM OUTPUT
ХТА BEGIN+ @3FF
JANE NOREST
SETR @3178 ; ВОССТАНОВЛЕНИЕ
ХТУ РАВ+1 ; ИСПОРЧЕННОЙ
ХТА РАВ ; ЯЧЕЙКИ 0-ГО ЛИСТА
ТТХ BEGIN+ @3FF
NOREST:CLRR @FCE87
5 VJM COUT
5 VТМ TBEGIN
14 VТМ 5
;
PAUSE:12 VТМ @1FFFF
:ХТА CON_IN ; ПРИМЕРНО
JANE ANAL ; 1 СЕК.
12 VRM *-1
14 VRM PAUSE
5 JМР
;
;        ОРГАНИЗАЦИЯ НАСИЛЬСТВЕННОГО ВХОДА
;
PUT_РС:NG WMOD @1В ; СЧАС
NG RMOD @11
ААХ =Н0000 0000 C7FF FFFF
NG WMOD @11 ; ГАШ. ППУ,ПИА,ППК
NG RMOD 0
JANE HORROR
JМР RЕТ_INT
;
NOMEMOR:UТА ELMEM
JМР PUT_РС
;
HORROR:11 VТМ =Z" MOD.0 IS NОТ ZERO ! "
5 VJM OUTPUT11
:ВТА HEADS<<3
JANE *
:HLT -7
JМР *
;
;************************************************
;
;        I.  РЕПЕРТУАР СТАРОЙ БЭСМ-6.
;        ============================
;
;************************************************
;
;     51,52 - ПРОВЕРКА КОМАНД  JMEQ, JMNE :
;
Т51:N VТМ @51
N ХТА BLTEST
JANE Т53
2 VТМ 0
2 JMEQ *+1
JМР ERROR
:2 JMNE ERROR
2 JMNE ERROR
2 VТМ -1
2 JMEQ ERROR
:2 JMEQ ERROR
2 JMNE Т52
JМР ERROR
;
Т52:N VТМ @52
2 VТМ 1
3 VТМ -32
JМР *+2
:2 J+М 2 ; СДВИГ "1" ВЛЕВО
3 UТМ 1
:2 JMNE *-1
3 JMNE ERROR
13 VJM NEWTEST
;
;      53 - ПРОВЕРКА КОМАНД  VLM, VRM :
;
Т53:N VТМ @53
N ХТА BLTEST
JANE Т54
2 VТМ -999
3 VТМ -1000
:3 UТМ 1
2 VLM *
2 JMNE ERROR
3 JMNE ERROR
:2 VLM ERROR ; А ЧТО ПРИ "0"
2 JMNE ERROR
;
  2 VТМ 999
  3 VТМ -1000
  :3 UТМ 1
  2 VRM *
  2 JMNE ERROR
  3 JMNE ERROR
  :2 VRM *-2 ; А ЧТО ПРИ "0"
  2 JMNE ERROR
13 VJM NEWTEST
;
;        54 - ПРОВЕРКА КОМАНД  ATI,  IТА :
;
Т54:N VТМ @54
N ХТА BLTEST
JANE Т55
2 VТМ -1
ATI 2
2 JMNE ERROR
ХТА FUL
ATI 2
2 JMEQ ERROR
IТА 2
ATI 3
3 JMEQ ERROR
3 UТМ 1
3 JMNE ERROR
13 VJM NEWTEST
;
;          55 - ПРОВЕРКА КОМАНД  UТС, WТС :
;
Т55:N VТМ @55
N ХТА BLTEST
JANE Т56
UТС -1
3 VТМ
3 JMEQ ERROR
3 UТМ 1
3 JMNE ERROR
:UТС -1
:3 VТМ
3 JMEQ ERROR
3 UТМ 1
3 JMNE ERROR
:WТС =I-1
3 VТМ
3 JMEQ ERROR
3 UТМ 1
:3 JMNE ERROR
WТС =I-1
:3 VТМ
3 JMEQ ERROR
3 UТМ 1
3 JMNE ERROR
UТС -7
UТС 8
3 VТМ -2
3 JMEQ ERROR
3 UТМ 1
3 JMNE ERROR
WТС =I-1
UТС 8
3 VТМ -6
3 UТМ -1
3 JMNE ERROR
3 VТМ 1
:3 WТС CHESS1
4 VТМ
IТА 4
3 АЕХ CHESS1
ASN 1024-32
JANE ERROR
3 VRM *-3
13 VJM NEWTEST
;
;        56 - ПРОВЕРКА КОМАНДЫ  VJM :
;
Т56:N VТМ @56
N ХТА BLTEST
JANE Т57
2 VJM Т6_1 ; СПРАВА
Т6_1:2 UТМ -Т6_1
2 JMNE ERROR
:2 VJM Т6_2 ; СЛЕВА
Т6_2:2 UТМ -Т6_2
2 JMNE ERROR
:2 VJM *+2
:UТС -1
:3 VТМ 1
3 JMEQ ERROR
:3 VТМ -1
2 VJM *+2
:3 VТМ -2
:3 UТМ 1
3 JMNE ERROR
13 VJM NEWTEST
;
;       57  - MTJ, J+М, VТМ, UТМ
;
Т57:N VТМ @57
N ХТА BLTEST
JANE Т5А
UТС -13
2 VТМ 14
IТА 2
АЕХ =1
13 VJM СНАСС
2 VТМ 15
2 UТМ -15
IТА 2
13 VJM СНАСС
3 VТМ 1
3 J+М 2
IТА 2
АЕХ =1
13 VJM СНАСС
13 VJM СНМ3
3 MTJ 2
IТА 2
АЕХ =1
13 VJM СНАСС
13 VJM СНМ3
13 VJM NEWTEST
;
;       5А,5В - ПРОВЕРКА МАТ.АДРЕСА 0
;                И МОДИФИКАТОРА 0 :
;
Т5А:N VТМ @5А
N ХТА BLTEST
JANE Т5С
2 VТМ -1
IТА 2
АТХ
:ХТА ; СЛЕВА
ATI 2
2 JMNE ERROR
2 VТМ -1
IТА 2
:АТХ
ХТА ; СПРАВА
ATI 2
2 JMNE ERROR
Т5В:N VТМ @5В
2 VТМ -1
IТА 2
ATI
:IТА ; СЛЕВА
ATI 2
2 JMNE ERROR
2 VТМ -1
IТА 2
:ATI
IТА ; СПРАВА
ATI 2
2 JMNE ERROR
13 VJM NEWTEST
;
;           5С - РАБОТА С РЕГИСТРОМ РЕЖИМА
;                UZA, U1А, XTR, NTR, RТЕ, УТА
;
Т5С:N VТМ @5С
N ХТА BLTEST
JANE Т60
2 VТМ 63
LТ0С:2 NTR
RТЕ 63
АТХ WS
ITS 2
ASN 1024-53
15 АЕХ
JANE ERROR
U1А ERROR
XTR
RТЕ 63
JANE ERROR
UZA ERROR
XTR WS
RТЕ 63
ITS 2
ASN 1024-53
15 АЕХ
JANE ERROR
U1А ERROR
;
15 VТМ WS+1
15 XTR
15 VТМ MST
RТЕ 63
ITS 2
ASN 1024-53
15 АЕХ
JANE ERROR
2 VRM LТ0С
;
NTR 63
RТЕ @21
АЕХ =Н0420 0000 0000 0000
JANE ERROR
U1А ERROR
NTR 0
UZA ERROR
JANE ERROR
:U1А *+1
JМР ERROR
:NTR 7 ; ЛОГ.ГР.
U1А ERROR
JANE ERROR
NTR 11 ; ГР.УМН.
UZA ERROR
JANE ERROR
NTR 19 ; ГР.СЛОЖ.
U1А ERROR
JANE ERROR
ХТА FUL
UZA ERROR
JAEQ ERROR
JAGE ERROR
JAGT ERROR
NTR 11
U1А ERROR
JAEQ ERROR
JAGE ERROR
JAGT ERROR
NTR 19
UZA ERROR
JAEQ ERROR
JAGE ERROR
JAGT ERROR
;
NTR 24 ; ГС+ГУ=ГС
UZA ERROR
NTR 12 ; ГУ+ГЛ=ГУ
U1А ERROR
ХТА =1
NTR 20 ; ГС+ГЛ=ГС
U1А ERROR
JAEQ ERROR
JALT ERROR
JALE ERROR
ХТА FUL
АЕХ
ХТА
УТА
АЕХ FUL
U1А ERROR
;       NTR 11
;       УТА 1025
;       АЕХ =H002F FFFF FFFF FFFF
;       U1А ERROR
ARX       ; ДОЛЖНА
UZA ERROR ; ПОЛУЧИТЬСЯ
ARX FUL   ; ГР.УМН.
U1А ERROR
ААХ FUL   ; ЛОГ.ГР.
UZA ERROR
13 VJM NEWTEST
;
;        60:69 - МАГАЗИННОЕ ОБРАЩЕНИЕ
;       ===============================
;        60: 15 АТХ   61: XTS   62: ITS
;        63: 15 ХТА   64: SТХ   65: STI
;        66: 15 АТХ А      67: 15 ХТА А
;        68: 15 WТС        69: 15 ATD
;
Т60:N VТМ @60
N ХТА BLTEST
JANE Т70
АТХ WS
АТХ WS+1
АТХ WS+2
15 VТМ WS+1
ХТА FUL
15 АТХ
15 UТМ -2-WS
13 VJM CHSTAK
;
N VТМ @61
15 VТМ WS
ХТА
XTS FUL
XTS
XTS
15 UТМ -3-WS
13 VJM CHSTAK
;
N VТМ @62
15 VТМ WS
IТА
ITS
ХТА FUL
ITS
ITS
15 UТМ -3-WS
13 VJM CHSTAK
;
N VТМ @66
15 VТМ WS-1
ХТА
15 АТХ 1
15 АТХ 3
ХТА FUL
UТС 2
15 АТХ
15 UТМ 1-WS
13 VJM CHSTAK
;
N VТМ @63
ХТА
АТХ WS+1
15 VТМ WS+3
15 ХТА
ATI 2
ASN 1024+32
ATI 3
15 ХТА
ATI 4
ASN 1024+32
ATI 5
15 ХТА
ATI 6
ASN 1024+32
ATI 7
13 VJM CHST2
;
N VТМ @64
15 VТМ WS+3
SТХ WS+4
ATI 2
ASN 1024+32
ATI 3
SТХ WS+4
ATI 4
ASN 1024+32
ATI 5
SТХ WS+4
ATI 6
ASN 1024+32
ATI 7
13 VJM CHST2
;
N VТМ @65
15 VТМ WS+3
STI 6
ATI 6
ASN 1024+32
STI 7
ATI 4
ASN 1024+32
STI 5
ATI 2
ASN 1024+32
ATI 3
13 VJM CHST2
;
N VТМ @67
15 VТМ WS+3
UТС -1
15 ХТА
ATI 6
ASN 1024+32
ATI 7
15 ХТА -2
ATI 4
ASN 1024+32
ATI 5
15 ХТА -3
ATI 2
ASN 1024+32
ATI 3
15 UТМ -3
13 VJM CHST2
;
N VТМ @68
4 VТМ 1
7 VТМ -1
3 VТМ -1
15 VТМ WS+3
15 WТС
6 VТМ
15 WТС
4 VТМ
15 WТС
2 VТМ
13 VJM CHST2
15 VТМ WS
ХТА =1
XTS
XTS =2
XTS =3
15 WТС -2
2 VТМ
2 JMNE ERROR
15 UТМ -3-WS
15 JMNE ERROR
;
N VТМ @69
15 VТМ WS
ХТА CHESS1
АЕХ FUL
15 ATD
15 MTJ 13
13 UТМ -2-WS
13 JMNE ERROR
АЕХ CHESS2
JANE ERROR
ХТА WS+1
АЕХ CHESS1
JANE ERROR
ХТА WS
АЕХ CHESS2
JANE ERROR
15 DТА
УТХ WS
АЕХ CHESS2
JANE ERROR
ХТА WS
АЕХ CHESS1
JANE ERROR
15 UТМ -WS
15 JMNE ERROR
;        РАНЕЕ ЗАБЫТЫЕ КОМАНДЫ :
N VТМ @6А
UTCS 2
14 VТМ
IТА 14
AEU @20000
JANE ERROR
15 VТМ WS
ХТУ CHESS2
15 УТХ
JANE ERROR
15 UТМ -WS-1
15 JMNE ERROR
ХТА WS
АЕХ CHESS2
JANE ERROR
15 VТМ WS+1
АЕХ
15 ХТУ
JANE ERROR
15 UТМ -WS
15 JMNE ERROR
УЕХ CHESS2
JANE ERROR
15 VТМ WS
ХТА CHESS1
XTS CHESS2
15 ААХ
JANE ERROR
ХТА CHESS1
XTS CHESS2
15 ARX
XTS CHESS1
XTS CHESS2
15 АОХ
15 АЕХ
JANE ERROR
ХТА CHESS1
XTS CHESS2
XTS FUL
15 АРХ
15 AUX
АЕХ CHESS1
JANE ERROR
XTS FUL
15 АСХ
14 VТМ -64
А+I 14
JANE ERROR
XTS FUL
15 ANX
А+L FUL
JANE ERROR
UТА 2
L-А =1
А-L FUL
JANE ERROR
ХТА FUL
15 АТХ
15 ASX
JANE ERROR
UТА 2
UTS 1
UTS 2
UTS 3
15 А-L ; 3-2=1
15 А+L ; +1=2
15 L-А
JANE ERROR
ХТА CHESS1
XTS CHESS2
XTS FUL
15 ХТУ
15 УОХ
ХТУ FUL
АЕУ
JANE ERROR
ХТА CHESS1
XTS CHESS1
XTS FUL
АЕХ
15 УАХ
АЕХ
15 УЕХ
JANE ERROR
15 UТМ -WS
15 JMNE ERROR
13 VJM NEWTEST
;
;         70 - ЗАПИСЬ/ЧТЕНИЕ
;
Т70:N VТМ @70
N ХТА BLTEST
JANE Т71
WТС LRW   ; ДЛИНА МАССИВА
6 VТМ -1 ; БОЛЬШЕ КЭША !
7 VТМ 66
UТА 1
9 VJM REWR
:ASN 1024-1
9 VJM REWR ; БЕГУЩАЯ "1"
7 VRM *-1
ХТА =HFFFF FFFF FFFF FFFE
7 VТМ 66
6 VТМ 256 ; ВСЕ В КЭШЕ
:9 VJM REWR ; БЕГУЩИЙ "0"
ASN 1024-1
AOU 1
7 VRM *-2
WТС LRW ; ОПЯТЬ БОЛЬШЕ
6 VТМ -1 ; РАЗМЕРА КЭША
9 VТМ ; НОМЕ ADRESS
;
REWR:АТХ MST ; ЭТАЛОН
6 MTJ 4
:9 JMNE *+1 ; ПОСТ.КОД
4 UТА WS  ; НОМЕ ADRESS
:4 АТХ WS
4 VRM *-1
6 MTJ 4
9 JMEQ L2REWR
L1REWR:ХТА MST
4 АЕХ WS
:JANE ERT70
4 VRM L1REWR
JМР RREWR
L2REWR:4 UТА WS
4 АЕХ WS
:JANE ERT70
4 VRM L2REWR
RREWR:ХТА CON_IN
JANE ANAL ; БЫЛ ВВОД
ХТА MST
9 JMEQ СТ70
9 JМР
;     НЕСОВПАДЕНИЕ.  СУМ=<РАЗНИЦА>, РМР=<ЭТАЛОН>
ERT70:15 VТМ MST+1
УТХ MST
АЕУ
XTS ERCNT
ARX =Н0000 0001 0000 0000
АТХ ERCNT
ASN @400+32
14 VJM DНЕХ8
ААХ =Н0000 0000 00FF FFFF
АОХ ="'@D'ERR:'0''0''0'"
XTS =" IN TEST"
XTS ="-70. ЕТ="
XTS MST
ASN @400+32
14 VJM DНЕХ8
XTS MST
14 VJM DНЕХ8
XTS =" MEMORY="
XTS MST+1
ASN @400+32
14 VJM DНЕХ8
XTS MST+1
14 VJM DНЕХ8
XTS ="   ADR: "
4 UTS WS
14 VJM DНЕХ8
ASN @400-16
AOU @0A0D
ASN @400-8
UTS MST+2
5 VJM OUTPUT
14 VТМ 3
5 VJM PAUSE
9 JMEQ L2REWR+1
JМР L1REWR+1
;
СТ70:ХТА CHESS1
АЕХ FUL
ATD WS
АЕХ CHESS2
JANE ERROR
ХТА WS
АЕХ CHESS2
JANE ERROR
ХТА WS+1
АЕХ CHESS1
JANE ERROR
14 VТМ WS+1
14 DТА -1
УТХ WS
АЕХ CHESS2
JANE ERROR
ХТА WS
АЕХ CHESS1
JANE ERROR
13 VJM NEWTEST
;
;        71  - ААХ,АОХ,АЕХ
;
Т71:N VТМ @71
N ХТА BLTEST
JANE Т72
ХТА FUL
ААХ
13 VJM СНАСС
ХТА FUL
ААХ FUL
АЕХ FUL
13 VJM СНАСС
ХТА CHESS1
ААХ CHESS1
АЕХ CHESS1
13 VJM СНАСС
ХТА CHESS1
ААХ CHESS2
13 VJM СНАСС
ХТА CHESS1
АОХ CHESS2
АЕХ FUL
13 VJM СНАСС
ХТА CHESS2 ; ПРОВЕРКА
АЕХ CHESS1 ; ЗАСЫЛКИ
ХТА CHESS2 ; В РМР
АЕУ
JANE ERROR
13 VJM NEWTEST
;
;        72   -  ARX
;
Т72:N VТМ @72
N ХТА BLTEST
JANE Т73
ХТА =11
ARX =1
АЕХ =12
13 VJM СНАСС
ХТА FUL
ARX =1
АЕХ =1
13 VJM СНАСС
ХТА FUL
ARX FUL
АЕХ FUL
13 VJM СНАСС
13 VJM NEWTEST
;
;         73   -  АРХ, AUX
;
Т73:N VТМ @73
N ХТА BLTEST
JANE Т74
ХТА CHESS1
АРХ FUL
AUX =H7FFF FFFF FFFF FFFF
АЕХ CHESS2
13 VJM СНАСС
ХТА CHESS1
АРХ CHESS2
13 VJM СНАСС
ХТА CHESS1
АРХ CHESS1
AUX CHESS2
АЕХ CHESS2
13 VJM СНАСС
ХТА FUL
AUX CHESS2
АЕХ CHESS2
13 VJM СНАСС
13 VJM NEWTEST
;
;          74   -  АСХ, ANX
;
Т74:N VТМ @74
N ХТА BLTEST
JANE Т75
АСХ
13 VJM СНАСС
ХТА FUL
АСХ
АЕХ =64
13 VJM СНАСС
ХТА CHESS2
АСХ =HFFFF FFFF FFFF FFE0
АЕХ =1
13 VJM СНАСС
11 VТМ 64
ХТА =1
TANX:11 JMNE *+1
ХТА
:АТХ WS
ANX
ITS 11
15 АЕХ
13 VJM СНАСС
ХТА WS
ASN 1024-1
ITS 11
ААХ =7
15 АОХ
11 VRM TANX
ХТА
ANX FUL
АЕХ FUL
13 VJM СНАСС
UТА 5  ; ПРОВЕРКА
ANX FUL ; ЗАСЫЛКИ
ХТА =Н4000 0000 0000 0000
АЕУ    ; ОСТАТКА
JANE ERROR ; В РМР
13 VJM NEWTEST
;
;        75  -  ASN, ASX
;
Т75:N VТМ @75
N ХТА BLTEST
JANE Т76
11 VТМ 64
TSFT1:ХТА =Н8000 0000 0000 0000
11 ASN 1024-1
ANX
ITS 11
15 АЕХ
13 VJM СНАСС
11 VRM TSFT1
11 VТМ 64
TSFT2:ХТА =1
11 ASN 1024-64
ANX
ITS 11
15 АЕХ
13 VJM СНАСС
11 VRM TSFT2
ХТА FUL
ASX FUL
13 VJM СНАСС
ХТА CHESS2
ASX =H7FFF FFFF FFFF FFFF
АЕХ CHESS1
13 VJM СНАСС
ХТА FUL     ; А ЧТО
ASN 1024-12 ; ПОПАДЕТ
UТА @FFF    ; В РМР
АЕУ         ; ПРИ
JANE ERROR  ; СДВИГАХ ?
ХТА FUL
ASN 1024+4
ХТА =HF000 0000 0000 0000
АЕУ
JANE ERROR
13 VJM NEWTEST
;
;        76 - Е+N, Е-N, Е+Х, Е-Х
;
Т76:N VТМ @76
N ХТА BLTEST
JANE Т77
12 VТМ @7FE
ХТА =HFFE8 0000 0000 0000
АТХ WS
L76:ХТА WS
Е+N @3FF
АТХ WS
ASN 1024+53
ATI 14
12 J-М 14
14 JMNE ERROR
12 VRM L76
ХТА WS
Е-N @401
JANE ERROR
UZA ERROR
12 VТМ @7FE
11 VТМ 1
ХТА =Н0008 0000 0000 0000
АТХ WS
L761: ХТА WS
Е-Х =H7FF7 0000 0000 0000
АТХ WS
ASN 1024+53
ATI 14
11 J-М 14
14 JMNE ERROR
11 UТМ 1
12 VRM L761
ХТА WS
Е+Х =Н0000 0000 0000 0000
АЕХ =H7FE8 0000 0000 0000
U1А ERROR
13 VJM NEWTEST
;
;         77  -  А+Х, А-Х, Х-А
;
Т77:N VТМ @77
N ХТА BLTEST
JANE Т78
NTR 3
UТА 64
А-Х =65
UZA ERROR
UZA ERROR
JAEQ ERROR
А+Х =1
U1А ERROR
JANE ERROR
ХТА =2
Х-А =1
А-Х =H001F FFFF FFFF FFFF
U1А ERROR
JANE ERROR
UТА 2
UTS 1
UTS 2
UTS 3
15 А-Х ; 3-2=1
U1А ERROR
15 А+Х ; 1+1=2
15 Х-А
U1А ERROR
JANE ERROR
ХТА =Н8680 0000 0000 0040; 64
А-Х =Н8680 0000 0000 0041;
UZA ERROR
А+Х =Н8028 0000 0000 0000; 1.
U1А ERROR
АЕХ =Н8680 0000 0000 0000; 0, НЕНОРМАЛИЗОВАННЫЙ
U1А ERROR
NTR 2
ХТА =Н8048 0000 0000 0000; 2.
XTS =Н8028 0000 0000 0000; 1.
XTS =Н8048 0000 0000 0000; 2
XTS =Н804С 0000 0000 0000; 3
15 А-Х
15 А+Х
15 Х-А
U1А ERROR
JANE ERROR
13 VJM NEWTEST
;
;        78  -  А*Х, А/Х
;
Т78:N VТМ @78
N ХТА BLTEST
JANE Т80
NTR 3
ХТА =Н8680 0000 0000 0005
А*Х =Н8680 0000 0000 000D; 13
УТХ WS
АЕХ =H8D00 0000 0000 0000;
U1А ERROR
ХТА WS
АЕХ =H8D00 0000 0000 0041; 65*2!52
U1А ERROR
ХТА =Н8680 0000 0000 000D; 13
А*Х =H869F FFFF FFFF FFF3; -13
УТХ WS
АЕХ =H8D1F FFFF FFFF FFFF
U1А ERROR
ХТА WS
АЕХ =H8D0F FFFF FFFF FF57
U1А ERROR
NTR 2
ХТА =Н806А 0000 0000 0000; 5.
А*Х =H808D 0000 0000 0000; 13.
АЕХ =Н80Е8 2000 0000 0000; 65.
U1А ERROR
УТА
А/Х =H808D 0000 0000 0000; 13.
АЕХ =Н806А 0000 0000 0000; 5.
U1А ERROR
13 VJM NEWTEST
;
;             II. НОВЫЕ КОМАНДЫ :
;             ===================
;
;          80 - JMLT, JMLE, JMGT, JMGE
;
Т80:N VТМ @80
N ХТА BLTEST
JANE Т81
3 VТМ
3 JMGT ERROR
3 JMLT ERROR
:3 JMGE *+1
JМР ERROR
:3 JMLE *+1
JМР ERROR
:ХТА =Н0000 0000 8000 0000
ATI 3
3 JMGT ERROR
3 JMGE ERROR
:3 JMLE *+1
JМР ERROR
:3 JMLT *+1
JМР ERROR
;
:2 VТМ 31
 ХТА CHESS1
LТ80:ASN 1024+1
15 АТХ
ААХ =4
STI 4
ATI 3
4 JМР *+1
;------------
:3 JMGT ERROR
3 JMGE ERROR
:3 JMLE *+1
JМР ERROR
:3 JMLT ELT80
JМР ERROR
:JМР ERROR
;------------
:3 JMLE ERROR
3 JMLT ERROR
:3 JMGE *+1
JМР ERROR
:3 JMGT ELT80
JМР ERROR
;------------
ELT80:2 VRM LТ80
13 VJM NEWTEST
;
;            81 - JAEQ, JANE, JAGT, JAGE, JALT, JALE
;
Т81:N VТМ @81
N ХТА BLTEST
JANE Т82
UТА 1
2 VТМ -63
LТ81:JAEQ ERROR
JAEQ ERROR
:JANE *+1
JМР ERROR
:ASN 1024-1
2 VLM LТ81
:JAEQ *+1 ; А=0
JМР ERROR
:JANE ERROR
JANE ERROR
JAGT ERROR
JALT ERROR
:JAGE *+1
JМР ERROR
:JALE *+1
JМР ERROR
:ХТА =Н8000 0000 0000 0000
JAGT ERROR
:JALE *+1
JМР ERROR
:JALT *+1
JМР ERROR
:JAGE ERROR
2 VТМ -60
;
L1Т81:ХТА CHESS1
2 ASN 1024
ITS 2
ААХ =1
STI 3
3 JMEQ T81MIN
T81POZ:JALT ERROR
JALE ERROR
:JAGE *+1
JМР ERROR
:JAGT EL1T81
JМР ERROR
T81MIN:JALT *+1
JМР ERROR
:JALE *+1
JМР ERROR
:JAGT ERROR
JAGE ERROR
EL1T81:2 VLM L1Т81
13 VJM NEWTEST
;
;           82 - JOVR, JCRY
;
Т82:N VТМ @82
N ХТА BLTEST
JANE Т83
JOVR ERROR
JCRY ERROR
UТА
А+U 1
JCRY ERROR
А+U -1
:JCRY *+1
JМР ERROR
:А+U -1
JCRY ERROR
ХТА CHESS2
А+L CHESS2
:JOVR *+1
JМР ERROR
:ХТА FUL
А+L FUL
JOVR ERROR
13 VJM NEWTEST
;
;           83 - JMPS, RETS
;
Т83:N VТМ @83
N ХТА BLTEST
JANE Т8С
RMOD @1818
ATI 5
5 RMOD @13
ATI 6 ; Р А В
6 MTJ 7
7 UТМ 1
2 VТМ 100
LТ33:IТА 2
AAU 1
ATI 3
3 ХТА CHESS1
АЕХ FUL
3 JMNE СНТ33-1
:JMPS CALLS33 ; СЛЕВА
:JМР СНТ33
;
CALLS33:15 АТХ
УТХ WS+1
5 RMOD @13
AEI 7
ААХ =Н0000 0000 FFFF FFFF
JANE ERROR
ХТУ WS+1
15 ХТА
:3 JMNE *+1
RETS
:RETS
;
:UТС -1
JMPS CALLS33+1 ; СПРАВА
;
СНТ33:УТХ WS
3 АЕХ CHESS1
АЕХ FUL
JANE ERROR
ХТА WS
3 АЕХ CHESS1
JANE ERROR
5 RMOD @13
AEI 6
ААХ =Н0000 0000 FFFF FFFF
JANE ERROR
2 VRM LТ33
13 VJM NEWTESTI
;
;            8С  -  UZAS, U1AS
;
Т8С:N VТМ @8С
N ХТА BLTEST
JANE Т90
15 VТМ MST
15 MTJ 14
ХТА CHESS1
XTS CHESS2
UZAS ERROR
АЕХ CHESS1
JANE ERROR
15 J-М 14
14 JMNE ERROR
15 MTJ 14
ХТА FUL
XTS
U1AS ERROR
АЕХ FUL
JANE ERROR
15 J-М 14
14 JMNE ERROR
ХТА
XTS FUL
NTR 11 ; ГР.УМН
U1AS ERROR
U1А ERROR ; БУДЕТ ЛОГ.ГР !
ХТА FUL
15 АТХ
NTR 11
U1AS ERROR
UZA ERROR
ХТА
XTS FUL
NTR 19 ; ГР.СЛОЖ.
UZAS ERROR
U1А ERROR ; БУДЕТ ЛОГ.ГР.
15 MTJ 14
ХТА
XTS FUL
:U1AS *+1
JМР ERROR
:15 J-М 14
14 JMNE ERROR
U1А ERROR
13 VJM NEWTEST
;
;            90 - UТА, UTS, UТУ
;
Т90:N VТМ @90
N ХТА BLTEST
JANE Т91
ХТА FUL
UТА
JANE ERROR
UТА -1
АЕХ FUL
JANE ERROR
ХТА FUL
АТХ MST
2 VТМ -2
UТС 1
2 UТА 1
JANE ERROR
АТХ MST+1
АТХ MST+2
UTS -1
UTS -1
АЕХ FUL
JANE ERROR
15 ХТА
АЕХ FUL
JANE ERROR
15 АОХ
АОХ MST+2
JANE ERROR
15 UТМ -MST
15 JMNE ERROR
;
15 VТМ MST
3 VТМ -29
2 VТМ -10
:UTS -1
UTS -1
UTS -1
2 VLM *-1
:АЕХ FUL
U1AS ERROR
3 VLM *-1
;
UТУ 5
UТА 5
АЕУ
JANE ERROR
UТУ -1
ХТА FUL
АЕУ
JANE ERROR
2 VТМ 32
3 VТМ 1
15 VТМ MST
:IТА 3
2 АТХ WS
3 MSN @400-1
2 VRM *-1
2 VТМ 32
3 VТМ 1
LТ50:3 UТУ
2 WТС WS
UТА
3 UTS
2 WТС WS
UTS
АЕУ
JANE ERROR
3 UТА
15 АЕХ
JANE ERROR
2 ХТА WS
15 АЕХ
JANE ERROR
3 MSN @400-1
2 VRM LТ50
13 VJM NEWTEST
;
;          91 - AAU, AOU, AEU
;
Т91:N VТМ @91
N ХТА BLTEST
JANE Т94
ХТА FUL
AAU -1
АЕХ FUL
JANE ERROR
ХТА FUL
AAU
JANE ERROR
UТА 1
AOU -2
АЕХ FUL
JANE ERROR
АЕХ ; РМР=0
ХТА FUL
AEU -1 ; ПРОВЕРИМ
JANE ERROR ; РАЗМНОЖЕНИЕ
АЕУ    ; И ЧТО РМР
JANE ERROR ; НЕ ПОРТИТСЯ
13 VJM NEWTEST
;
;             94 - ACU, ANU
;
;            (В ОТЛИЧИЕ ОТ АСХ,ANX ЗДЕСЬ СЛОЖЕНИЕ
;               С ИСП.АДРЕСОМ НЕ ЦИКЛИЧЕСКОЕ, А
;               АРИФМЕТИЧЕСКОЕ ! )
;
Т94:N VТМ @94
N ХТА BLTEST
JANE Т95
ACU
JANE ERROR
ХТА FUL
ACU
AEU 64
JANE ERROR
ХТА CHESS2
ACU -32
JANE ERROR
ХТА CHESS1
ACU -31
AEU 1
JANE ERROR
ХТА CHESS1
ACU -33
АЕХ FUL
JANE ERROR
11 VТМ 64
UТА 1
TANU:11 JMNE *+1
UТА
:АТХ WS
ANU
ITS 11
15 АЕХ
JANE ERROR
ХТА WS
ASN 1024-1
ITS 11
AAU 7
15 АОХ
11 VRM TANU
UТА 1
ANU -64
JANE ERROR
UТА 1
ANU -65
АЕХ FUL
JANE ERROR
UТА 1
ANU -63
AEU 1
JANE ERROR
ANU
JANE ERROR
ANU -1
АЕХ FUL
JANE ERROR
UТА 5
ANU -1
ХТА =Н4000 0000 0000 0000
АЕУ
JANE ERROR
13 VJM NEWTEST
;
;              95 - MCJ, J-М
;
Т95:N VТМ @95
N ХТА BLTEST
JANE Т96
2 VТМ
3 VТМ 1
2 MCJ 3
3 JMNE ERROR
2 UТМ -1
2 JMNE ERROR
;
2 VТМ 2
3 VТМ 3
2 J-М 3
3 UТМ -1
3 JMNE ERROR
2 UТМ -2
2 JMNE ERROR
13 VJM NEWTEST
;
;            96 - MSN
;
Т96:N VТМ @96
N ХТА BLTEST
JANE ТА0
ХТА =Н0000 0000 4000 0000
L1Т56:ATI 2
2 MSN 1024+3
ASN 1024+3
ATI 3
3 J-М 2
2 JMNE ERROR
JANE L1Т56
;
ХТА =Н0000 0000 8000 0000
L2Т56:ATI 2
2 MSN 1024+3
ASN 1024+3
АОХ =Н0000 0000 Е000 0000
ATI 3
3 J-М 2
2 JMNE ERROR
3 UТМ 1
3 JMNE L2Т56
;
UТА 1
L3Т56:ATI 2
2 MSN 1024-3
ASN 1024-3
ААХ =Н0000 0000 7FFF FFFF
ATI 3
3 J-М 2
2 JMNE ERROR
3 JMNE L3Т56
;
4 VТМ 12
UТА -1
L4Т56:ATI 2
2 MSN 1024-3
ASN 1024-3
АОХ =Н0000 0000 8000 0000
ATI 3
3 J-М 2
2 JMNE ERROR
4 VRM L4Т56
13 VJM NEWTEST
;
;            А0  -  РАБОТА  С   Р М Р :
;
ТА0:N VТМ @А0
N ХТА BLTEST
JANE ТА1
ХТУ FUL
УТХ WS
ХТА WS
АЕХ FUL
JANE ERROR ; У=FUL
УЕХ CHESS2
УОХ CHESS2
АЕХ FUL
JANE ERROR ; У=FUL
УЕХ CHESS2
АЕХ CHESS1
JANE ERROR ; У=CHESS1
УАХ CHESS2
JANE ERROR
ХТА CHESS2
ААУ
JANE ERROR
ХТА CHESS2
АОУ
АЕХ FUL
JANE ERROR ; У=FUL
ХТА CHESS2
АЕУ
АЕХ CHESS1
JANE ERROR
13 VJM NEWTEST
;
;             А1  -  AAI, AOI, AEI, А-I, I-А
;
ТА1:N VТМ @А1
N ХТА BLTEST
JANE ТА2
2 VТМ -12
LТ61:UТА -1
2 ATI 15
2 AAI 15
АЕХ FUL
JANE ERROR
ХТА FUL
AAI
JANE ERROR
ХТУ
ХТА FUL
2 AEI 15
JANE ERROR
АОУ
JANE ERROR
2 UТА 15
2 ATI 15
2 AEI 15
JANE ERROR
2 AOI 15
2 AEI 15
JANE ERROR
2 UТА 15
2 А-I 15
JANE ERROR
2 UТА 16
2 А-I 15
JALE ERROR
2 UТА 14
2 А-I 15
JAGE ERROR
2 UТА 15
2 I-А 15
JANE ERROR
2 UТА 16
2 I-А 15
JAGE ERROR
2 UТА 14
2 I-А 15
JALE ERROR
2 VLM LТ61
13 VJM NEWTEST
;
;               А2   -   МРАС, MUNP
;
ТА2:N VТМ @А2
N ХТА BLTEST
JANE ТА3
UТА -20
LТ621:АТХ WS+4 ; СМЕЩЕНИЕ
2 VТМ -11 ; РЕГИСТРЫ 4-15
:2 UТА 15
ARX WS+4
2 ATI 15
2 VLM *-1
2 VТМ -8
;
LТ62:ХТА
АЕХ
2 МРАС 12
АТХ WS
УТХ WS+1
UТА
2 ATI 12
2 ATI 13
2 ATI 14
2 ATI 15
ХТА WS
2 MUNP 12
УТХ WS+2
АЕХ WS
JANE ERROR
ХТА WS+2
АЕХ WS+1
JANE ERROR
3 VТМ -11
:3 UТА 15
ARX WS+4
3 AEI 15
JANE ERROR
3 VLM *-2
2 VLM LТ62
;
ХТА WS+4
А+U 1
JALE LТ621
13 VJM NEWTEST
;
;            А3,А4,А5  -  ЦЕЛОЕ УМНОЖЕНИЕ И ДЕЛЕНИЕ
;
ТА3:N VТМ @А3
N ХТА BLTEST
JANE ТА4
UТА @F
2 VТМ 2
3 VТМ 1
RА4:АТХ WS
4 VТМ 24
RРА4:ХТА WS
15 АТХ
ASNA 1024-1
АТХ WS+1
ХТА WS
А*U 2
JOVR ERROR
АЕХ WS+1
JANE ERROR
ХТА WS
А*I 2
JOVR ERROR
АЕХ WS+1
JANE ERROR
UТА 2
UТС WS
А*L
JOVR ERROR
АЕХ WS+1
JANE ERROR
UТА 2
15 А*L
JOVR ERROR
АЕХ WS+1
JANE ERROR
6 VТМН WS
UТА 2
6 А*Н 1
JOVR ERROR
АЕХ WS+1
JANE ERROR
УТХ WS
4 VRM RРА4
UТА -1
3 VRM RА4
;
:UТА @80FFF
2 VТМ 2
3 VТМ 1
RSA4:АТХ WS
4 VТМ 24
RPSA4:ХТА WS
ASNA 1024+1
АТХ WS+1
ХТА WS
А/U 2
JOVR ERROR
АЕХ WS+1
JANE ERROR
ХТА WS
А/I 2
JOVR ERROR
АЕХ WS+1
JANE ERROR
UТА 2
АТХ WS+2
ХТА WS
А/L WS+2
JOVR ERROR
АЕХ WS+1
JANE ERROR
UТА 2
15 АТХ
ХТА WS
15 А/L
JOVR ERROR
АЕХ WS+1
JANE ERROR
6 VТМН WS+2
ХТА WS
6 А/Н 1
JOVR ERROR
АЕХ WS+1
JANE ERROR
УТХ WS
4 VRM RPSA4
UТА -1
3 VRM RSA4
;
13 VJM NEWTEST
;
ТА4:N VТМ @А4
N ХТА BLTEST
JANE ТА6
4 VТМ 3
LТА4:UТА 13
13 VJM SETOPER ; МНОЖИТЕЛЬ
UТА 5 ; МНОЖИМОЕ
13 VJM MULTA4
AEU 65
JANE ERROR
UТА -13
13 VJM MULTA4
AEU -169
JANE ERROR
13 VJM MULTA4
JANE ERROR
13 VJM SETOPER
UТА 5
13 VJM MULTA4
JANE ERROR
NТА 64-25
13 VJM SETOPER
13 VJM MULTA4
AEN 64-49
JANE ERROR
4 VRM LТА4
13 VJM NEWTEST
;
ТА5:N VТМ @А5
5 VТМ 3
LТА5:UТА 7 ; ДЕЛИТЕЛЬ
13 VJM SETOPER
UТА 13 ; ДЕЛИМОЕ
13 VJM DIVTA5
AEU 1
JANE ERROR
UТА 6
АЕУ
JANE ERROR
13 VJM DIVTA5
АОУ
JANE ERROR
UТА -20
13 VJM DIVTA5
AEU -2
JANE ERROR
UТА -6
АЕУ
JANE ERROR
UТА 77
13 VJM DIVTA5
AEU 11
АОУ
JANE ERROR
5 VRM LТА5
13 VJM NEWTEST
;
;               А6   -   ASNA
;
ТА6:N VТМ @А6
N ХТА BLTEST
JANE ТА7
ХТА =Н4000 0000 0000 0000
L1Т66:15 АТХ
ASN 1024+3
SТХ WS
ASNA 1024+3
АЕХ WS
JANE ERROR
ХТА WS
JANE L1Т66
;
2 VТМ 25
ХТА =Н8000 0000 0000 0000
L2Т66:15 АТХ
ASN 1024+3
АОХ =НЕ000 0000 0000 0000
SТХ WS
ASNA 1024+3
АЕХ WS
JANE ERROR
ХТА WS
2 VRM L2Т66
;
UТА 2
L3Т66:15 АТХ
ASN 1024-3
SТХ WS
ASNA 1024-3
АЕХ WS
JANE ERROR
ХТА WS
JANE L3Т66
;
UТА -1
2 VТМ 25
L4Т66:15 АТХ
ASN 1024-11
АОХ =Н8000 0000 0000 0000
SТХ WS
ASNA 1024-11
АЕХ WS
JANE ERROR
ХТА WS
2 VRM L4Т66
13 VJM NEWTEST
;
;             А7 - VТМН, VTMQ, VТМВ, VTMF
;
ТА7:N VТМ @А7
N ХТА BLTEST
JANE ТВ0
2 VТМ WS
IТА 2
ASN 1024-1
3 VТМН WS
ITS 3
15 АЕХ
JANE ERROR
IТА 2
ASN 1024-2
3 VTMQ WS
ITS 3
15 АЕХ
JANE ERROR
IТА 2
ASN 1024-3
3 VТМВ WS
ITS 3
15 АЕХ
JANE ERROR
IТА 2
ASN 1024-6
3 VTMF WS
ITS 3
15 АЕХ
JANE ERROR
;
3 VТМН 100
3 UТМ -200
3 JMNE ERROR
3 VTMQ 100
3 UТМ -400
3 JMNE ERROR
3 VТМВ 100
3 UТМ -800
3 JMNE ERROR
3 VTMF 100
3 UТМ -6400
3 JMNE ERROR
13 VJM NEWTEST
;
;              В0  -  НУМЕРОВАННЫЕ БИТЫ :
;                     NТА,NTS,AAN,AON,AEN
;
ТВ0:N VТМ @В0
N ХТА BLTEST
JANE ТВ1
2 VТМ 63
15 VТМ WS
ХТА =Н8000 0000 0000 0000
:15 АТХ ; 64,63,...,1
ASN 1024+1
JANE *-1
UТА 1
:15 АТХ ; 1,2,...,64
ASN 1024-1
JANE *-1
15 VТМ MST
;
  :2 NТА
  2 АЕХ WS
  JANE ERROR
   2 VRM *-1
;
2 VТМ 63
3 VТМ 63
:3 NТА 1024
3 АЕХ WS+64
JANE ERROR
3 VRM *-1
;
:2 ХТА WS
2 NTS
15 АЕХ
JANE ERROR
2 VRM *-2
;
3 VТМ 63
:3 ХТА WS+64
3 NTS 1024
15 АЕХ
JANE ERROR
3 VRM *-2
15 UТМ -MST
15 JMNE ERROR
;
2 VТМ 63
:2 AEN
2 VRM *
АЕХ FUL
JANE ERROR
UТА -1
3 VТМ 63
:3 AEN 1024
3 VRM *
JANE ERROR
;
2 VТМ 31
:2 UТС -1
2 AON 1
2 VRM *-1
АЕХ CHESS1
JANE ERROR
;
2 VТМ 63
:UТА -1
2 AAN
2 АЕХ WS
JANE ERROR
2 VRM *-2
13 VJM NEWTEST
;
;            В1 - РАБОТА С ПОЛУСЛОВАМИ
;
ТВ1:N VТМ @В1
N ХТА BLTEST
JANE ТВ2
2 VТМН WS
UТА -32
3 VТМ 63
:2 АТН ; -32,-31,...,30,31
2 UТМ 1
А+U 1
3 VRM *-1
;
UТА 32
3 VТМ 63
:А-U 1
15 АТХ
2 HTS -1
2 UТМ -1
15 АЕХ
U1AS ERROR
3 VRM *-3
;
ХТА WS
АЕХ =HFFFF FFE0 FFFF FFE1
JANE ERROR
3 VТМ 31
;
:2 НТА
2 А-Н 1
AEU -1
JANE ERROR
2 НТА 1
2 Н-А
U-А -1
JANE ERROR
2 UТМ 2
3 VRM *-4
;
3 VТМ 63
UТУ
:3 UТА -32
2 АЕН -1
АОУ
JANE ERROR
2 UТМ -1
3 VRM *-2
;
АТХ WS
ХТА CHESS2
XTS
XTS FUL
SТН WS<<1
JANE ERROR
UТА 1
А+Н WS<<1
JANE ERROR
ХТА CHESS1
SТН WS<<1+1
ААН WS<<1
АОН WS<<1 +1
АЕХ FUL
ATI 14
ASN 1024+32
JANE ERROR
14 JMNE ERROR
13 VJM NEWTEST
;
;             В2 - РАБОТА С ЧЕТВЕРТИНКАМИ :
;
ТВ2:N VТМ @В2
N ХТА BLTEST
JANE ТВ3
2 VTMQ WS
3 VТМ 63
UТА -32
;
:2 ATQ ; -32,-31,...,30,31
2 UТМ 1
А+U 1
3 VRM *-1
;
3 VТМ 63
UТА 32
:А-U 1
15 АТХ
2 QTS -1
2 UТМ -1
ASN 1024+16
JANE ERROR
2 QТА
15 АЕХ
AAU @FFFF
U1AS ERROR
3 VRM *-5
;
ХТА WS
АЕХ =HFFE0 FFE1 FFE2 FFE3
JANE ERROR
;
3 VТМ -63
UТУ
:3 UТА 63-32
2 AEQ
AAU @FFFF
АОУ
JANE ERROR
2 UТМ 1
3 VLM *-3
;
2 VTMQ WS
UTS -1
2 STQ 1
JANE ERROR
ХТА FUL
2 AAQ 1
AEU @FFFF
JANE ERROR
2 AOQ 1
AEU @FFFF
JANE ERROR
13 VJM NEWTEST
;
;              В3 - РАБОТА С БАЙТАМИ :
;
ТВ3:N VТМ @В3
N ХТА BLTEST
JANE ТВ6
2 VТМВ WS
3 VТМ 63
UТА -32
:2 АТВ
2 UТМ 1
А+U 1
3 VRM *-1
;
3 VТМ 63
UТА 32
:А-U 1
15 АТХ
2 BTS -1
ASN 1024+8
JANE ERROR
2 ВТА -1
15 АЕХ
AAU @FF
U1AS ERROR
2 UТМ -1
3 VRM *-5
;
ХТА WS
АЕХ =НЕ0Е1 Е2Е3 Е4Е5 Е6Е7
JANE ERROR
;
3 VТМ -63
UТУ
:3 UТА 63-32
2 АЕВ
AAU @FF
АОУ
JANE ERROR
2 UТМ 1
3 VLM *-3
;
2 VТМВ WS
UTS -1
2 SТВ 3
JANE ERROR
2 АОВ 3
AEU @FF
JANE ERROR
UТА -1
2 ААВ 3
AEU @FF
JANE ERROR
13 VJM NEWTEST
;
;           В6 - РАБОТА С БИТАМИ :
;                FТА,ATF,FTS,STF,AAF,AOF,AEF
;
ТВ6:N VТМ @В6
N ХТА BLTEST
JANE ТВ7
2 VTMF WS
3 VТМ 127
4 VТМ 128
:IТА 3
2 ATF
2 UТМ 1
3 VRM *-1
:ITS 4
2 STF
2 UТМ 1
4 VRM *-1
JANE ERROR
IТА 15
AEU MST
JANE ERROR
ХТА WS
АЕХ CHESS1
JANE ERROR
ХТА WS+1
АЕХ CHESS1
JANE ERROR
ХТА WS+2
АЕХ CHESS2
JANE ERROR
ХТА WS+3
АЕХ CHESS2
JANE ERROR
;
2 VTMF WS
3 VТМ 127
:IТА 3
AAU 1
2 FTS
2 UТМ 1
15 АЕХ
JANE ERROR
3 VRM *-3
;
4 VТМ 128
:2 FТА
2 UТМ 1
ITS 4
AAU 1
15 АЕХ
JANE ERROR
4 VRM *-3
;
4 VТМ 128
:2 UТМ -1
UТА -1
2 AAF
ITS 4
AAU 1
15 АЕХ
JANE ERROR
4 VRM *-3
;
4 VТМ 63
3 VТМ 127
:3 UТА 1
AAU 1
2 AEF -1
2 UТМ -1
JANE ERROR
3 VRM *-2
;
:ASN 1024-1
2 AOF
2 UТМ 1
4 VRM *-1
АЕХ CHESS1
JANE ERROR
13 VJM NEWTEST
;
;             В7 - РАБОТА С БИТАМИ :
;                  EXTF,SETF,CLRF
;
ТВ7:N VТМ @В7
N ХТА BLTEST
JANE ТС0
2 VTMF WS
АТХ WS
АТХ WS+1
3 VТМ -63
:ХТА =Н8000 0000 0000 0000
3 ASNA 1024+63
2 SETF
2 UТМ 1
АЕХ WS
JANE ERROR
3 VLM *-3
;
4 VТМ 63
:UТА -1
4 ASN 1024-64
2 CLRF -1
2 UТМ -1
АЕХ WS
JANE ERROR
4 VRM *-3
;
3 VТМ 63
LТ77:3 JMEQ *+2
IТА 3
AAU 1
4 AON 1
:АТХ WS
4 EXTF ; РАЗМН."0"
АЕХ WS
JANE ERROR
ХТА =Н8000 0000 0000 0000
4 ASNA 1024
4 NTS
4 EXTF ; РАЗМН."1"
15 АЕХ
JANE ERROR
4 UТМ 1
3 VRM LТ77
;
13 VJM NEWTEST
;
;             ТЕСТЫ ТИПА: "КТО ЧТО ПОРТИТ" :
;             (УБРАТЬ ";" ПОСЛЕ ПРОПАЙКИ ПНА ГРУПП)
;
;            С0  - КОМАНДЫ, НЕ ПОРТЯЩИЕ СУММАТОР
;
ТС0:N VТМ @С0
N ХТА BLTEST
JANE ТС1
2 VТМ 1
LТС0:2 ХТА CHESS1
UZA *+1
:АТХ WS
U1А *+1
:ASN 1024
JМР *+1
:ASX =Н8000 0000 0000 0000
13 VJM *+1
:ATI 3
3 JMEQ *+1
:3 MTJ 4
4 JMNE *+1
:3 J+М 4
4 VLM *+1
:UТС 2
WТС ADR+1
:5 VТМ 4
5 VRM *+1
:5 UТМ 1
5 JMGT *+1
:XTR 0
5 JMGE *+1
:NTR 63
5 JMLT *+1
:3 MCJ 4
5 JMLE *+1
:4 MSN 1024+3
JALT *+1
:4 J-М 5
JALE *+1
:ASNA 1024
JAEQ *+1
:8 VТМН WS
JANE *+1
:9 VTMQ WS
JAGE *+1
:10 VТМВ WS
JAGT *+1
:11 VTMF WS
JCRY *+1
:MUNP 3
JOVR *+1
:XTS WS
SТХ WS
ITS 5
STI 5
А+U
А-U
AAU -1
AOU
AEU
UТУ
ТТХ WS ; НАДО У=0 !
ХТУ FUL
УТХ WS
ААУ
3 VТМ
А+I 3
А-I 3
AEI 3
AOI 3
4 VТМ -1
AAI 4
А+L
А-L
8 АТН
9 ATQ
10 АТВ
11 ATF
ATD WS
SEMR WS
SEMW WS
SMON
CMON @FFF7F
2 АЕХ CHESS1
JANE ERROR
2 VRM LТС0
13 VJM NEWTEST
;
;             С1 - КОМАНДЫ, НЕ ПОРТЯЩИЕ РМР
;
ТС1:N VТМ @С1
N ХТА BLTEST
JANE ТС2
2 VТМ 1
LТС1:2 ХТУ CHESS1
JCRY *+1
:АТХ WS
JOVR *+1
:ХТА WS
UZA *+1
:XTS WS
U1А *+1
:SТХ WS
JМР *+1
:ААХ
13 VJM *+1
:АОХ FUL
13 VLM *+1
:ARX FUL
13 VRM *+1
:АРХ FUL
3 JMEQ *+1
:AUX FUL
3 JMNE *+1
:АСХ FUL
3 JMLT *+1
:ATI 3
3 JMLE *+1
:IТА 3
3 JMGT *+1
:ITS 3
3 JMGE *+1
:STI 3
JAEQ *+1
:3 MTJ 4
JANE *+1
:3 J+М 4
JALT *+1
:3 J-М 4
JALE *+1
:4 UТМ -1
JAGT *+1
:3 MCJ 4
JAGE *+1
:UТС 2
WТС ADR+4
5 VТМ -1
XTR FUL
NTR 0
RТЕ 63
А+U -1
А-U -1
U-А 1
UТА -1
AAU -1
AEU
AOU -1
ACU
УАХ FUL
УЕХ FUL
УОХ FUL
ААУ
АЕУ
АОУ
8 VТМН WS
9 VTMQ WS
10 VТМВ WS
11 VТМВ WS
MUNP 3
А+I 3
А-I 3
I-А 3
AAI 3
AEI 3
AOI 3
ASNA 1024+5
ASNA 1024-7
А+L FUL
А-L FUL
L-А FUL
ATD WS
SEMR WS
SEMW WS
SMON
CMON @FFF7F
RMOD 1
WMOD 1
2 ХТА CHESS1
АЕУ
JANE ERROR
2 VRM LТС1
13 VJM NEWTEST
;
;             С2 - КОМАНДЫ, НЕ ПОРТЯЩИЕ РР :
;
ТС2:N VТМ @С2
N ХТА BLTEST
JANE Т41
2 VТМ 63
LТС2:2 NTR
UZA *+1
:АТХ WS
U1А *+1
:ATI
JМР *+1
:3 MTJ 4
13 VJM *+1
:3 J+М 4
3 JMEQ *+1
:3 J-М 4
3 JMNE *+1
:ATD WS
JCRY *+1
:3 MCJ 4
JOVR *+1
:4 UТМ -1
4 VLM *+1
:UТС 2
WТС ADR+4
:5 VТМ 4
5 VRM *+1
:RТЕ 63
3 JMLT *+1
:ХТУ WS
3 JMLE *+1
:УТХ WS
3 JMGT *+1
:3 MSN 1024+5
3 JMGE *+1
:3 MSN 1024-5
JALT *+1
:8 VТМН WS
JALE *+1
:9 VTMQ WS
JAGT *+1
:10 VТМВ WS
JAGE *+1
:11 VTMF WS
JAEQ *+1
:MUNP 3
JANE *+1
:8 АТН
9 ATQ
10 АТВ
11 ATF
ATD WS
RMOD 1
WMOD 1
RТЕ 63
ITS 2
ASN 1024-53
15 АЕХ
JANE ERROR
2 VRM LТС2
13 VJM NEWTEST
;
;             ***********************************
;             *      41 - ЭКСТРАКОДЫ            *
;             ***********************************
;
Т41:N VТМ @41
N ХТА BLTEST
JANE Т4А
2 VТМ 50 ; СЧ-К ЦИКЛА
UТА СНЕХТ
N АТХ ADR-1 ; ПЕРЕХВАТ
;
L1Т41:IТА 2
AAU 1
ATI 3 ; ЛЕВО/ПРАВО
IТА 2
AAU 2
ATI 4 ; БЕЗ/С РЕЗ.ГР.
RMOD @1818
ATI 5 ; Р Н Г
5 RMOD @11
ATI 6 ; Р Р
5 RMOD @12
AAU @FFFF
:4 JMEQ *+1 ; РЕЗ.ГР.=31
АОХ =Н0000 0000 003F 0000
:5 WMOD @12
ATI 7 ; Р Р Р
5 RMOD @13
ATI 8 ; Р А В
5 RMOD @1D
ATI 9 ; Р А П У
5 RMOD @1Е
ATI 10 ; Р Н П
IТА 15
15 VТМ -14
:15 АТХ MST+14 ; 15,1,2,...,14
15 IТА 15
15 VLM *-1
ХТА MST
ATI 15
3 ХТА CHESS1
АЕХ FUL
3 JМР CALLEXT
;
;        ***  ДЛЯ РУЧНОЙ ПЕРЕДАЧИ УПРАВЛЕНИЯ :  ***
;         1 -  "ДЕРГАНЬЕ" ПУСТОГО ЭКСТРАКОДА
;         2 -  "ДЕРГАНЬЕ" ПРЕРЫВАНИЯ ПО КОНТР.КОМ.
;
GETFUN:
IТА
JANE HORROR
FUN
IТА
JAEQ GETFUN
ARET:IТА
5 VJM COUT
JANE HORROR
ХТА CON_IN
JANE ANAL
RЕТ
;
Т41_ЕМР:UТС 1 ; С РЕЗ.ГРУППОЙ
:4 VТМ ; БЕЗ ОНОЙ
N VТМ @41
UТА ARET
N АТХ ADR-1
RMOD @1818
ATI 5
5 RMOD @12
AAU @FFFF
:4 JMEQ *+1
АОХ =Н0000 0000 003F 0000
:5 WMOD @12
JМР GETFUN
;
LOOPINT:N VТМ @0D
UТА АКК
N АТХ ADR-1
SETR @100 ; БПТЗ
ХТУ ; ТЕГ=0
UТА
ТТХ WS
5 VТМ WS
JМР COUT
;
АКК:IТА
5 VJM COUT
JANE HORROR
NG RMOD 0
JANE HORROR
ХТА CON_IN
JAEQ RЕТ_INT
UТА ANAL
JМР PUT_РС
;
;              ВНУТРИ ЭКСТРАКОДА.  МЕНЯЕМ МЕСТАМИ
;              СУММАТОР С РМР.  ПРОВЕРИМ ВСЕ УСЛОВИЯ.
;
СНЕХТ:АТХ WS+1
УТХ WS+2
IТА IА
АЕХ MST+2 ; ИСП.АДРЕС
JANE ERROR
IТА NG
АЕХ MST+5 ; ГРУППА У ПОДАТЕЛЯ
JANE ERROR
IТА TN
АЕХ MST+10 ; ПРОЦЕСС-ПОДАТЕЛЬ
JANE ERROR
RMOD @1819
АЕХ MST+10
JANE ERROR
RMOD @1818
ATI 14
ХТА MST+4
JAEQ *+3
14 RMOD @12 ; В РРР
ASN 1024+3  ; ДОЛЖЕН
AEI NG      ; ПОЯВИТЬСЯ
AAU @3Е0    ; НОМЕР
:JANE ERROR ; ПРЕРВ.ГРУППЫ
14 RMOD @1D
ATI 14 ; НОВОЕ РАПУ
ХТА MST+9 ; СТАР.РАПУ
А+U 16
AEI 14
JANE ERROR
14 J-М 15
15 UТМ 6
15 JMNE ERROR
;
ХТУ WS+1
UТА -1
15 VТМ -13
:15 ATI 14 ; ПОРТИМ ВСЕ
15 VLM * ; РЕГИСТРЫ
ХТА WS+2
RЕТ ; - ОТВАЛ
;
CALLEXT:2 FUN ; СЛЕВА
JМР *+2
:2 UТС 1
FUN -1 ; СПРАВА
;
;               ПОСЛЕ ЭКСТРАКОДА.  ПРОВЕРИМ ПЕРЕДАЧУ
;               СУММАТОРА И РМР, И ЧТО НИКОГО БОЛЕЕ
;               НЕ ПОРТИМ.
;
:УТХ WS
3 АЕХ CHESS1
JANE ERROR
ХТА WS
3 АЕХ CHESS1
АЕХ FUL
JANE ERROR
IТА 15
15 VТМ -14
:15 АЕХ MST+14
JANE ERROR
15 IТА 15
15 VLM *-1
RMOD @1818
АЕХ MST+5
JANE ERROR ; НЕ ТА ГРУППА
5 RMOD @11
АЕХ MST+6
ААХ =Н0000 0000 07EF FС03
JANE ERROR ; ИСПОРЧЕН РР
5 RMOD @12
АЕХ MST+7
ААХ =Н0000 0000 FFFF FFFF
JANE ERROR ; ИСПОРЧЕН РРР
5 RMOD @13
АЕХ MST+8
ААХ =Н0000 0000 FFFF FFFF
JANE ERROR ; ИСПОРЧЕН РАВ
5 RMOD @1D
АЕХ MST+9
ААХ =Н0000 0000 FFFF FFFF
JANE ERROR ; ИСПОРЧЕН РАПУ
5 RMOD @1Е
АЕХ MST+10
JANE ERROR ; НЕ ТОТ ПРОЦЕСС
RMOD @1819
АЕХ MST+10
JANE ERROR ; НЕ ТОТ РНП
2 VRM L1Т41
13 VJM NEWTESTI
;
;            4А - ЧТЕНИЕ/ЗАПИСЬ С ТЕГОМ (ТТА,ТТХ)
;
Т4А:N VТМ @4А
N ХТА BLTEST
JANE TINTER
SETR @0C17F ; ТЕГОВСКИЕ БЛОКИРОВКИ
2 VТМ 255
LТ4А:IТА 2
АЕХ
ТТХ WS
5 VJM COUT ; СБРОС КЭША
UТА 1
ТТА WS
AEI 2
JANE ERROR
IТА 2
АЕУ
JANE ERROR
2 VRM LТ4А
;
CLRR @FF604 ; СНЯТЬ БЛОКИР.
13 VJM NEWTEST
;
;             *******************************
;             *     П Р Е Р Ы В А Н И Я :   *
;             *******************************
;
;        СЛЕДУЮЩАЯ ГРУППА ТЕСТОВ ПОДГОТАВЛИВАЕТ УСЛОВИЯ
;        ДЛЯ ВОЗНИКНОВЕНИЯ РАЗЛИЧНЫХ ПРЕРЫВАНИЙ ПРИ
;        ОБРАЩЕНИИ К ЯЧЕЙКЕ WS. БЛОК РЕАКЦИИ НА ПРЕРЫ-
;        ВАНИЕ ДОЛЖЕН ОБНУЛЯТЬ ЯЧЕЙКУ WS+1. ЕСЛИ ЭТО НЕ
;        СДЕЛАНО, ЗНАЧИТ ПРЕРЫВАНИЯ НЕ БЫЛО.
;
;     WS   : ВСЕ "1" ИЛИ КОМАНДА ВОЗВРАТА
;     WS+1 : ПРИЗНАК "ЖДЕМ ПРЕРЫВАНИЯ" ИЛИ 0, ЕСЛИ БЫЛО
;     WS+2 : НОМЕР ГРУППЫ ПРЕРВАВШЕГОСЯ ПРОЦЕССА
;     WS+3 : НОМЕР ЭТОГО ПРОЦЕССА
;     WS+4 : РР      ---"---
;     WS+5 : РРР
;     WS+6 : СУММАТОР
;     WS+7 : РМР     ---"---
;     WS+8 : РАБ.ЯЧЕЙКА
;     WS+9 : ДОЗВОЛЕННАЯ ПРИПИСКА ЯЧ. "WS"
;     WS+10: РАБ.ЯЧЕЙКА
;
TINTER:ХТА BLTEST + @3Е
JANE PINTER
RMOD @1818
ATI 2 ; Р Н Г
АТХ WS+2
RMOD @1819
ATI 3 ; Р Н П
АТХ WS+3
2 RMOD @11
АТХ WS+4 ; РР
2 RMOD @12
АТХ WS+5 ; РРР
7 VТМ WS ; ЭТАЛОН И15
4 VJM LTWS
;
;
;
;
;             ИНФ.СЛОВА ТЕСТОВ:
;             -----------------
;            1:20 - АДРЕС ПРЕРЫВАЕМОЙ ПРОГРАММЫ
;           33:40 - УСТАНАВЛИВАЕМЫЙ ТЕГ
;           41:48 - НОМЕР ТЕСТА
;           49:60 - "0" ЕСЛИ РВЕТ ПРИ РАБОТЕ С ОПЕРАНДОМ
;                   ИНАЧЕ ТЕСТИРУЕТСЯ ВЫБОРКА КОМАНДЫ
;
IWTEST:АТХ @0В80 ; 0В - ПИНТ(ОП)
JМР TIU
:АТХ @0В80
JМР TIL
:АТХ @0В80
JМР TIR
:АТХ @0В80
JМР TIRH
:АТХ @0В80
JМР TIRQ
:АТХ @0В80
JМР TIRB
:АТХ @0В80
JМР TIRF
:АТХ @0В80
JМР TIRS1
:АТХ @0В80
JМР TIRS2
:АТХ @0В80
JМР TIRS3
:АТХ @0В80
JМР TIRS4
:АТХ @0В80
JМР TIRS5
:АТХ @0В80
JМР TIRS6
;
:JМР @0А81 ; 0А - ПИНТ(КОМ)
JМР WS
;
:АТХ @1702 ; 17 - ОПЕРАНД В РЭ
JМР TIU
:АТХ @1702
JМР TIL
:АТХ @1702
JМР TIR
:АТХ @1702
JМР TIRH
:АТХ @1702
JМР TIRQ
:АТХ @1702
JМР TIRB
:АТХ @1702
JМР TIRF
:АТХ @1702
JМР TIRS1
:АТХ @1702
JМР TIRS2
:АТХ @1702
JМР TIRS3
:АТХ @1702
JМР TIRS4
:АТХ @1702
JМР TIRS5
:АТХ @1702
JМР TIRS6
;
:JМР @1603 ; 16 - КОМАНДА В РЭ
JМР WS
;
:АТХ @0С04 ; 0С - ЗАЩ.АДР (ЧТ)
JМР TIU
:АТХ @0С04
JМР TIL
:АТХ @0С04
JМР TIR
:АТХ @0С04
JМР TIRH
:АТХ @0С04
JМР TIRQ
:АТХ @0С04
JМР TIRB
:АТХ @0С04
JМР TIRF
:АТХ @0С04
JМР TIRS1
:АТХ @0С04
JМР TIRS2
:АТХ @0С04
JМР TIRS3
:АТХ @0С04
JМР TIRS4
:АТХ @0С04
JМР TIRS5
:АТХ @0С04
JМР TIRS6
;
:АТХ @1508 ; 15 - ЗАЩ.АДР (ЗП)
JМР TIUW
:АТХ @1508
JМР TILW
:АТХ @1508
JМР TIRW
:АТХ @1508
JМР TIWH
:АТХ @1508
JМР TIWQ
:АТХ @1508
JМР TIWB
:АТХ @1508
JМР TIWF
:АТХ @1508
JМР TIWS1
:АТХ @1508
JМР TIWS2
:АТХ @1508
JМР TIWS3
:АТХ @1508
JМР TIWS5
:АТХ @1508
JМР TIWS6
;
:JМР @0D00 ; 0D - КОНТР.КОМ.
JМР WS
:JМР @1311 ; 13 - ЗАЩ.ВЫБОРКИ
JМР WS
:JМР @1421 ; 14 - ЗАЩ.П/У
JМР WS
;
:JМР @07FF ;  7 - ОШ.АДРЕС (К)
JМР WS
:АТХ @07FF ;  7 - ОШ.АДРЕС (ОП)
JМР TIU
:АТХ @07FF
JМР TIL
:АТХ @07FF
JМР TIR
:АТХ @07FF
JМР TIWH
:АТХ @07FF
JМР TIWQ
:АТХ @07FF
JМР TIWB
:АТХ @07FF
JМР TIWF
;
VARJUMP:6 UТМ 1
JМР CLTWS ; КОНЕЦ СПИСКА
;
;             БЛОКИ "ОБРАБОТКИ ПРЕРЫВАНИЙ"
;
PICONTR:SETR @F1FF
NG RMOD @11
AON 64-25
NG WMOD @11 ; ВЕРНЕМ "РОА"
NG RMOD 2
ATI 2 ; СТРАНИЦА
ХТА WS+9 ; ЕЕ ПРИПИСКА
2 WMOD @400 ; ДОСТУП К НЕЙ
N NТА
ААХ COMINT
:JAEQ *+1
RI MTJ IА ; СЧАС ==> ИАОП
:IТА 2
ASN 1024-10
AOU WS & @3FF
EXTF 64-20
AEI IА
JAEQ CONTR1
JМР ERRINT ; ОШ.ИАОП
;
CONTROL:SETR @F1FF
ХТА WS
UТУ 1 ; ТЕГ=<КОМАНДА НР>
ТТХ WS
5 VJM COUT ; СБРОС КЭША
N NТА
ААХ COMINT
:JAEQ *+1
RI MTJ IА ; СЧАС ==> ИАОП
:IТА IА
AEU WS
N MTJ 5
5 UТМ -@17
:5 JMNE *+1
AAU @7FFF ; "РЭ"
:5 UТМ @17-@16
5 JMEQ *-1 ; "РЭ"
5 UТМ @16-7
:5 JMNE *+1 ; НОРМ.АДРЕС
ААХ =Н0000 0000 000F FFFF
:JANE ERRINT ; НЕ ТОТ ИАОП
NG WMOD 8 ; И8=0
NG RMOD @1В ; ПОДПРАВКА
EXTF 64-20  ; ЗНАКА
NG WMOD @1В ; У СЧАС
JМР CONTR1
;
CONTREXT:
15 ХТА 2 ; СМ. EXTINT
АТХ MIRCOPY
;
CONTR1:ХТА WS+1
JAEQ ERRINT ; НЕ ЖДАЛИ
IТА NG
АЕХ WS+2
JANE ERRINT ; НЕ ТА ГРУППА
NG RMOD 0
AOI 0
JANE HORROR
RMOD @1818
ATI 2
2 RMOD @12  ; В РРР ДОЛЖЕН
ASN 1024+3  ; ПОЯВИТЬСЯ
AEI NG      ; НОМЕР
AAU @3Е0    ; ПРЕРВАННОЙ
JANE ERRINT ; ГРУППЫ !
IТА TN
АЕХ WS+3
JANE ERRINT ; НЕ ТОТ ПРОЦЕСС
NG RMOD N
AEI N
JANE ERRINT ; НЕ ТО ПРЕРЫВАНИЕ
АТХ WS+1
JМР RЕТ_INT
;
;        ПОСЛЕ ВОЗВРАТА: ПРАВИЛЬНО ЛИ ОТРАБОТАЛИ
;
CONTR2:7 J-М 15
CONTR3:15 JMNE ERRINT
УТХ WS+8
АЕХ WS+6
JANE ERRINT ; ИСПОРЧЕН СУММАТОР
ХТА WS+7
АЕХ WS+8
JANE ERRINT ; ИСПОРЧЕН РМР
ХТА WS+1
JANE ERRINT ; НЕ РВАЛИСЬ !
RMOD @1818
АЕХ WS+2
JANE ERRINT ; ИСПОРЧЕН РНГ
RMOD @1819
АЕХ WS+3
JANE ERRINT ; ИСПОРЧЕН РНП
ХТА WS ; НЕ ДОЛЖНО РВАТЬ!!
АТХ WS ;  ---"---
12 JМР
;
;            3:0В - ПРЕРЫВАНИЯ ПО ТЕГУ
;
LTWS:4 ХТА ; ИНФ.СЛОВО
ASN 1024+40
AAU @FF
ATI N
N JMEQ ELTWS
AEU @07
:JANE *+1
UТС =Н0000 0000 8000 0000 ; ПОРТИМ АДРЕС
:ХТА
ATI 8
UТА CONTROL
N АТХ ADR-1
АТХ WS+1
4 ХТА
ASN 1024+32
AAU @FF ; ТЕГ
АТХ WS+7
4 ХТА
АОХ =Н0000 0000 FFF0 0000
ATI 11 ; JUMP ADRESS
ASN 1024+48
AAU @FF
JAEQ *+2
8 J+М 11
UТС VARJUMP-FUL
:ХТА FUL
АТХ WS+6
ХТУ WS+7
SETR @100 ; БПТЗ
ТТХ WS
5 VJM COUT ; СБРОС КЭША
CLRR @FF604 ; СБРОС БЛОКИРОВОК
6 VТМ -1
15 VТМ WS
11 JМР ; НА ДЕРГАНЬЕ
;
;--------------------
JМР ERRINT
JМР ERRINT
TIU:UТС -1
8 ХТА WS+1
6 UТМ 1
JМР CLTWS
;--------------------
JМР ERRINT
JМР ERRINT
TIL:8 ХТА WS
6 VLM CLTWS
;--------------------
JМР ERRINT
JМР ERRINT
TIR:6 UТМ -1
8 ХТА WS
6 UТМ 2
JМР CLTWS
JМР ERRINT
JМР ERRINT
;--------------------
TIUW:UТС -1
8 АТХ WS+1
6 UТМ 1
JМР CLTWS
JМР ERRINT
JМР ERRINT
;--------------------
TILW:8 АТХ WS
6 VLM CLTWS
JМР ERRINT
JМР ERRINT
;-------------------
TIRW:6 UТМ -1
8 АТХ WS
6 UТМ 2
JМР CLTWS
JМР ERRINT
JМР ERRINT
;-----------------
TIRH:8 НТА WS<<1
6 UТМ 1
EXTF 64-32
JМР CLTWS
;-----------------
TIWH:6 UТМ -1
8 АТН WS<<1
6 UТМ 2
JМР CLTWS
;----------------
TIRQ:8 QТА WS<<2
6 UТМ 1
EXTF 64-16
JМР CLTWS
;----------------
TIWQ:6 UТМ -1
8 ATQ WS<<2
6 UТМ 2
JМР CLTWS
;----------------
TIRB:9 VТМВ WS
9 UТС 13
8 ВТА -13
6 UТМ 1
EXTF 64-8
JМР CLTWS
;-----------------
TIWB:6 UТМ -1
9 VТМВ WS
9 UТС 13
8 АТВ -13
6 UТМ 2
JМР CLTWS
;----------------
TIRF:9 VTMF WS
9 UТС 13
8 FТА -13
6 UТМ 1
EXTF 64-1
JМР CLTWS
;----------------
TIWF:6 UТМ -1
9 VTMF WS
9 UТС 13
8 ATF -13
6 UТМ 2
JМР CLTWS
;-----------------
TIRS1:15 VТМ WS+1
SТХ WS+10
6 VLM CLTWS
JМР ERRINT
;-----------------
TIRS2:15 VТМ WS+1
6 UТМ 1
15 ХТА
JМР CLTWS
;-----------------
TIRS3:15 VТМ WS+1
UТА
STI 14
6 VLM CLTWS
;-----------------
TIRS4:15 VТМ WS+1
15 WТС
6 VТМ
6 VLM CLTWS
;-----------------
TIRS5:9 VТМН WS+10
15 VТМ WS+1
9 SТН
6 VLM CLTWS
;-----------------
TIRS6:9 VТМВ WS+10
15 VТМ WS+1
9 SТВ 3
6 VLM CLTWS
;-----------------
TIWS1:15 АТХ
6 VLM CLTWS1
TIWS2:XTS FUL
6 VLM CLTWS1
TIWS5:9 VТМН FUL
9 HTS 1
6 UТМ 1
JМР CLTWS1
TIWS6:9 VТМВ WS+10
6 UТМ -1
9 BTS 3
EXTF 64-8
6 UТМ 2
JМР CLTWS1
TIWS3:6 UТМ 1
UTS -1
CLTWS1:15 VRM CLTWS
JМР ERRINT
;-----------------
;
CLTWS:6 JMNE ERRINT ; ОШ.ППК
12 VJM CONTR2
UТА ERRINT
N АТХ ADR-1 ; ВОССТАНОВЛЕНИЕ
ХТА CON_IN
JANE ANAL ; БЫЛ ВВОД
4 VLM LTWS
ELTWS:13 VТМ PINTER
JМР NEWTESTI
;
;            **********************************
;            *    СТРАНИЧНЫЕ  ПРЕРЫВАНИЯ :    *
;            **********************************
;
;       ЯЧЕЙКА "WS" ПОСЛЕДОВАТЕЛЬНО ПРИПИСЫВАЕТСЯ К
;       РАЗНЫМ МАТ.СТРАНИЦАМ.  ЗАТЕМ ТУДА ТЫКАЕМСЯ В
;       РАЗЛИЧНЫХ РЕЖИМАХ И ПРОВЕРЯЕМ, ЧТО ПРЕРЫВАЛИСЬ
;       ТОЛЬКО ПО ДЕЛУ И ЧТО НЕ ПОРТИЛИ РЕГИСТРОВ.
;       В САМОЙ "WS" НАХОДИТСЯ КОМАНДА ВОЗВРАТА.
;
CODWS:15 VТМ
6 JМР
;
CONEX:12 MTJ 14 ; ВЫХОД ПО И12
12 VJM CONTR2
;
PREAMBUL:14 MTJ 12 ; ВЫХОД ПО И14
N JМР * - @0Е
:3 UТА @3FE ; ЗАЩ.ПО N ПРОЦЕССА
JМР PREAMB
:3 UТА @3FE ;    ---"---
JМР PREAMB
:3 UТА @1FF ; ЗАЩ.ПО ОБРАЩ.
JМР PREAMB
:3 UТА @2FF ; ЗАЩ.ПО ЗАПИСИ
;
PREAMB:2 WMOD @400 ; УСТ. РП/РЗ
АТХ WS+1 ; "ЖДЕМ ПРЕРЫВАНИЯ"
ХТУ WS+7 ; РМР
ХТА WS+6 ; СУММАТОР
7 MTJ 15
7 MTJ 8
CLRR @F4604 ; СНЯТЬ БЛОКИРОВКИ
12 JМР ; ГОТОВЫ К ДЕРГАНЬЮ
;
;          РАЗНООБРАЗНОЕ ДЕРГАНЬЕ ПО ЧТЕНИЮ :
;
READWS:6 VТМ
14 VJM PREAMBUL ; ВЫХОД ПО И11
7 ХТА
12 VJM CONEX
UТС -1
7 ТТА 1
12 VJM CONEX
15 UТМ 1
SТХ
12 VJM CONEX
15 UТМ 1
STI
12 VJM CONEX
15 UТМ 1
15 ХТА
12 VJM CONEX
UТА -1
7 ААХ
12 VJM CONEX
UТА
7 АОХ
12 VJM CONEX
15 UТМ 1
SТН WS<<1 +20
12 VJM CONEX
8 MSN 1024-1
8 НТА 1
7 ХТА
12 VJM CONEX
15 UТМ 1
STQ WS<<2 +40
12 VJM CONEX
8 MSN 1024-2
8 QТА 3
7 ХТА
12 VJM CONEX
15 UТМ 1
9 VТМВ WS+10
9 SТВ
12 VJM CONEX
8 MSN 1024-3
8 ВТА 7
7 ХТА
12 VJM CONEX
15 UТМ 1
9 VTMF WS+10
9 STF
12 VJM CONEX
8 MSN 1024-6
8 FТА 63
7 ХТА
12 VJM CONEX
7 WТС
12 VТМ
11 MTJ 12
JМР CONTR2 ; КОНЕЦ СПИСКА
;
;              РАЗНООБРАЗНОЕ ДЕРГАНЬЕ ПО ЗАПИСИ :
;
WRITWS:6 VТМ
14 VJM PREAMBUL ; ВЫХОД ПО И11
7 АТХ
12 VJM CONEX
7 ТТХ
12 VJM CONEX
UТС -1
XTS CODWS+1
15 UТМ -1
12 VJM CONEX
UТС 1
15 АТХ -1
15 UТМ -1
12 VJM CONEX
UTS
15 UТМ -1
7 ХТА
12 VJM CONEX
8 MSN 1024-6
8 ATF 63
12 VJM CONEX
8 MSN 1024-3
8 АТВ 7
12 VJM CONEX
8 MSN 1024-2
8 ATQ 3
12 VJM CONEX
8 MSN 1024-1
8 АТН 1
11 MTJ 12
JМР CONTR2 ; КОНЕЦ СПИСКА
;
;          Ц И К Л   П О   М А Т.  Л И С Т А М :
;
PINTER:ХТА BLTEST + @3F
JANE TPROGI
2 VТМ 1023
RMOD WS>>10 & @3FF + @400
AOU @3FF
АТХ WS+9
AAU @FFC00
ATI 3 ; ЭТАЛОН ПРИПИСКИ
SETR @0C17F
UТУ 1
УТХ WS+7
ХТА CODWS
АТХ WS+6
ТТХ WS ; ***
UТА PICONTR ; ПЕРЕХВАТЫ:
АТХ ADR+14 ; ЧУЖ.РП (ЧТ/ЗП)
АТХ ADR+15 ; ЧУЖ.РП (ВКС)
АТХ ADR+16 ; ЗАЩ.СТР.ПО ОБРАЩ.
АТХ ADR+17 ; ЗАЩ.СТР.ПО ЗАПИСИ
АТХ ADR+7  ; ОТР.N СТР (ВКС)
АТХ ADR+8  ; ОТР.N СТР (ЧТ/ЗП)
;
TPI:2 MTJ 12
IТА 2
12 UТМ -MAIN_PAG
12 JMLT NOOWN
12 UТМ -4    ; СЕБЯ
12 JMLT ETPI ; НЕ ТРОНЕМ !
12 UТМ MAIN_PAG+4 -@3С0
12 JMEQ ETPI ; ПП-ЛИСТ
NOOWN:ASN 1024-10
EXTF 64-20
AOU WS & @3FF
ATI 7 ; ТЕК.МАТ.АДРЕС
AEU WS
JAEQ ETPI ; ЭТОТ НЕЛЬЗЯ !
2 RMOD @400
АТХ OLDRP ; СТАРАЯ ПРИПИСКА
;
;        ВНАЧАЛЕ ИССЛЕДУЕМ  Р П  НА ПРИГОДНОСТЬ
;
8 VТМ -20 ; РАЗРЯДЫ
9 VТМ -1 ; БЕГ."0" ИЛИ "1"
L1RP:8 NТА 64-1
AEI 9
2 WMOD @400
ААХ =Н0000 0000 000F FFFF
ATI 10
ХТА CHESS1
2 RMOD @400
ATI 11
AEI 10
JAEQ L2RP
15 VТМ MST
ХТА ="BAD REGI"
2 UTS @400
14 VJM DНЕХ8
ААХ =Н0000 0000 00FF FFFF
АОХ =Z"STER:"
ITS 10
14 VJM DНЕХ8
ААХ =Н0000 00FF FFFF FFFF
АОХ =Z" W:"
ITS 11
14 VJM DНЕХ8
ААХ =Н0000 00FF FFFF FFFF
АОХ =Z" R:"
UTS @0A0D
ASN @400-32
UTS MST
5 VJM OUTPUT
15 VТМ MST
JМР REPRI
L2RP:9 VLM L1RP
9 VТМ -1
8 VLM L1RP
15 VТМ MST
;
;        10  -  ЧУЖОЙ  Р П   ПРИ ВЫБОРКЕ КОМАНДЫ
;
N VТМ @10
14 VJM PREAMBUL ; ПОРТИМ N ПРОЦ.
7 UТС
6 VJM ; ДОЛЖНО РВАНУТЬ
7 MTJ 15
12 VJM CONEX
SETR @8000     ; А С БПНП - НЕТ
7 UТС
6 VJM
ХТА WS+1
JAEQ ERRINT ; УВЫ, РВАНУЛО
15 JMNE ERROR ; НЕ ПОПАЛИ В "WS"
;
3 UТА @FF ; УСТ.ЗАЩ.ПО ОБРАЩ.
12 VJM PREAMB ; ПРИ ВЫБОРКЕ
7 UТС         ; КОМАНД ОНА НЕ
6 VJM         ; ПРЕРЫВАЕТ
ХТА WS+1
JAEQ ERRINT ; УВЫ,ЭТО СЛУЧИЛОСЬ
15 JMNE ERRINT ; НЕ ТУДА ПОПАЛИ
;
;         0F  -  ЧУЖОЙ  Р П  ПРИ ОБРАЩЕНИИ К ОПЕРАНДУ
;
N VТМ @0F
6 VТМ
14 VJM PREAMBUL
7 ХТА ; ДОЛЖНО РВАНУТЬ
12 VJM CONEX
SETR @8000
7 ХТА ; А С БПНП - НЕТ
ХТА WS+1
JAEQ ERRINT ; УВЫ, РВАНУЛО
11 VJM READWS
11 VJM WRITWS
;
;           12  -  ЗАЩИТА СТРАНИЦЫ ПО ЗАПИСИ :
;
N VТМ @12
14 VJM PREAMBUL
7 АТХ ; ДОЛЖНО РВАНУТЬ
12 VJM CONEX
SETR @1000
7 АТХ ; А С БЗЗ - НЕТ !
7 UТС
6 VJM ; И ВЫП. МОЖНО
ХТА WS+1
JAEQ ERRINT ; УВЫ, РВАНУЛО
15 JMNE ERRINT
14 VJM PREAMBUL
7 UТС ; А ЭТО ВСЕ
6 VJM ; ВООБЩЕ БЕЗ БЗЗ
15 JMNE ERRINT
6 VТМ
7 MTJ 15
7 ХТА ;
7 ТТА
15 UТМ 1
SТХ
15 UТМ 1
STI
15 UТМ 1
15 ХТА
15 UТМ 1
STQ WS<<2 +40
ХТА WS+1
JAEQ ERRINT ; ГДЕ-ТО РВАНУЛО
11 VJM WRITWS
;
;            11  -  ЗАЩИТА СТРАНИЦЫ ПО ОБРАЩЕНИЮ
;
N VТМ @11
14 VJM PREAMBUL
7 ХТА ; ДОЛЖНО РВАНУТЬ
12 VJM CONEX
SETR @2000
7 ХТА ; А С БЗО - НЕТ !
7 UТС
6 VJM
15 JMNE ERRINT
ХТА WS+1
JAEQ ERRINT ; УВЫ, РВАНУЛО
14 VJM PREAMBUL
7 UТС
6 VJM ; А КАК БЕЗ БЗО ?
15 JMNE ERRINT
ХТА WS+1
JAEQ ERRINT ; - НЕХОРОШО
11 VJM READWS
11 VJM WRITWS
7 JMGE REPRI
;
;         8,9  -  ОТРИЦАТЕЛЬНЫЙ НОМЕР СТРАНИЦЫ:
;
N VТМ 9
RMOD @1С15
ATI 10 ; СТАРЫЙ ТАЙМЕР
UТА QUANT
WMOD @1С15
3 UТА @3FF
12 VJM PREAMB
:CLRR @FBFFF ; СНЯТЬ РОА
7 ХТА
12 VJM CONTR2
;
3 UТА @FF
12 VJM PREAMB
:CLRR @FBFFF
15 АТХ
15 UТМ -1
12 VJM CONTR2
;
N VТМ 8
6 VТМ RWS
3 UТА @FF
12 VJM PREAMB
:CLRR @FBFFF
7 JМР
RWS:12 VJM CONTR3
IТА 10 ; ВОССТ.
WMOD @1С15 ; ТАЙМЕРА
;
;          К О Н Е Ц   Ц И К Л А   С Т Р А Н И Ц :
;
REPRI:ХТА OLDRP
2 WMOD @400 ; ВОССТ.ПРИПИСКИ
ETPI:WТС NEXPAG
2 UТМ ; ШАГ ПО РП
ХТА CON_IN
JANE ANAL ; БЫЛ ВВОД
2 JMGE TPI
13 VJM NEWTESTI
;
;          5  -  ПРОГРАММНОЕ ПРЕРЫВАНИЕ
;
TPROGI:N VТМ 5
N ХТА BLTEST
JANE TSEM
UТА CONTREXT
N АТХ ADR-1
2 VТМ 63
;
TP1F:ХТА FUL
2 AEN
АТХ WS+6
АТХ WS+7
АТХ WS+1
АЕХ
15 VТМ
WMOD @1С13 ; УСТ.ПРОГ.ПРЕР.
12 VJM CONTR3 ;
ХТА MIRCOPY
AAN 64-41
JAEQ ERRINT ; НЕТ БИТА В ГРП
RMOD @1802
AAN 64-41
JANE ERRINT ; НЕ ПОГАСИЛСЯ
АТХ MIRCOPY
2 VRM TP1F
13 VJM NEWTESTI
;
;         4В - СЕМАФОРНОЕ ЧТЕНИЕ (SEMR)
;
TSEM:N VТМ @4В
N ХТА BLTEST
JANE NEWFIN
RMOD @1818
ATI 8 ; РНГ
RMOD @1819
ATI 3 ; РНП
2 VТМ 255
LTSEM:UТА ; ЧИСТИМ
АТХ WS    ; СЕМАФОР
SETR @80
IТА 2     ; ИЗОБРАЗИМ
8 WMOD @1Е ; ИЗ СЕБЯ
WMOD @1819 ; ЧУЖОЙ ПРОЦЕСС
AEI 3
CLRR @FFF7F
ATI 14
ХТА FUL
SEMR WS ; ОН ЛЕЗЕТ В СЕМАФОР
:JCRY *+1 ; ЕСТЬ ЗАХВАТ
JМР ERROR
:АЕХ FUL
JANE ERROR ; ПОРТИТ СУММАТОР
SETR @80
IТА 3
8 WMOD @1Е
WMOD @1819
CLRR @FFF7F
ХТА FUL
:SEMR WS ; А ТЕПЕРЬ - МЫ
JCRY *+2 ; - ДАЮТ !!!
:14 JMEQ ERROR
JМР *+2
:14 JMNE ERROR
:АЕХ FUL
JANE ERROR
SEMW WS ; ПОПЫТКА ОТКАЗА
JANE ERROR ; ПОРЧЕН СУММАТОР
:ХТА WS
JAEQ *+2
14 JMEQ ERROR ; НЕТ ОТКАЗА ОТ СВОЕГО
JМР ELTSEM
:14 JMNE ERROR ; БЫЛ ОТКАЗ ОТ ЧУЖОГО
ELTSEM:2 VRM LTSEM
13 VJM NEWTEST
;
;
NEWFIN:
UТА QUANT
WMOD @1С15 ; МАЛЫЙ ТАЙМЕР
;
ХТА NPASS
ARX =Н0001 0000 0000 0000
ААХ =HFFFF 0000 0000 0000
АТХ NPASS ; КОНЕЦ РАУНДА
ААХ CMDIV
JANE TBEGIN ; ДЕЛИТЕЛЬ
UТА -1
WMOD @1С15 ; БОЛЬШОЙ ТАЙМЕР
;
1 VТМ FREE_С-BEGIN-2
SETR @3178
COMPARE:1 ХТА BEGIN
1 АЕХ BEGIN+@4000
JAEQ ЕСОМР
15 VТМ MST
ХТА ="UNCOMP:"
1 XTS BEGIN
ASN @400+32
14 VJM DНЕХ8
1 XTS BEGIN
14 VJM DНЕХ8
XTS =" DOUBL: "
1 XTS BEGIN+@4000
ASN @400+32
14 VJM DНЕХ8
1 XTS BEGIN+@4000
14 VJM DНЕХ8
XTS ="   ADR: "
ITS 1
14 VJM DНЕХ8
ASN @400-24
UTS MST
5 VТМ INPUT
13 VJM OUTPUT
UTS
SТХ CON_IN
ASN @400+56
AEU @31 ;"1"
JAEQ DUBL1
AEU 3 ; "2"
JAEQ DUBL2
AEU @74 ; "F"
JANE ЕСОМР
:1 ТТА BEGIN
1 ТТХ BEGIN+@4000
1 VRM *-1
JМР ЕСОМР
DUBL2:1 ТТА BEGIN
1 ТТХ BEGIN+@4000
JМР ЕСОМР
DUBL1:1 ТТА BEGIN+@4000
1 ТТХ BEGIN
ЕСОМР:1 VRM COMPARE
;
;           ЧТЕНИЕ ВСЕЙ ПАМЯТИ :
;
7 VТМ 1023-64
RMOD @401
АТХ OLDRP
LRMEM:6 VTMF MSCALE
7 UТС
6 FТА
JAEQ ELRMEM
IТА 7
ASN @400-10
AOU @3FF
WMOD @401 ; ПРИПИСКА
SETR @178
2 VТМ 1023
;
;         ПРОВЕРКА БОБР, БИЗМ
;
UТА
7 WMOD @800
5 VТМ 2
ХТА @7FF
7 RMOD @800
ATI 11
AEI 5
JANE BOBISM
7 WMOD @800
5 VТМ 6
ТТА @7FF
ТТХ @7FF
7 RMOD @800
ATI 11
AEI 5
JAEQ INSINDR
BOBISM:15 VТМ MST
5 MSN -5
5 J+М 11
ХТА ="BOBR,BIS"
ITS 11
14 VJM DНЕХ8
AAU @FFFF
ASN @400-32
АОХ =Z"М:'0''0''@0А''@0D'"
UTS MST
5 VJM OUTPUT
INSINDR:ХТА SINDROM
ATI 4
L2RMEM:2 ХТА 1024
ХТА SINDROM
AEI 4
JAEQ EL2RMEM
AEI 4
ATI 4
15 VТМ MST
AAU @7F
ATI 3 ; БЕЗ БИТА НЕЧЕТА
ХТА ="'@0А''@0D'MEMORY"
XTS =" ADRESS:"
ITS 7
ASN @400-10
AOI 2
EXTF 64-20
14 VJM DНЕХ8
XTS ="   ERROR"
XTS =" IN BIT "
14 VТМВ S_NUM
3 J+М 14
14 BTS
ASN @400-56
AUX =H0F0F 0000 0000 0000
АОХ ="00. SIND"
ITS 4
14 VJM DНЕХ8
AAU @FFFF
ASN @400-16
АОХ ="RОМ='0''0''@0А''@0D'"
UTS
UTS MST
5 VJM OUTPUT
ХТА SINDROM
ATI 4
EL2RMEM:2 VRM L2RMEM
CLRR @FFE87
ELRMEM:7 VRM LRMEM
ХТА OLDRP
WMOD @401
JМР TBEGIN ; НА НАЧАЛО ТЕСТА
;
;           П О Д П Р О Г Р А М М Ы :
;          ==========================
;
COUT:WMOD @1С19 ; СБРОС КЭША
5 JМР
;
СНМ3:IТА 3
АЕХ =1
СНАСС:JANE ERROR
;  ATI 2
;  2 JMNE ERROR
;  ASN 1024+32
;  ATI 2
;  2 JMNE ERROR
13 JМР
;
SETOPER:ATI 2
АТН WS<<1
АТХ WS+1
13 JМР
MULTA4:4 JМР *+1
:2 А*U
13 JМР
:А*I 2
13 JМР
:А*L WS+1
13 JМР
:А*Н WS<<1
13 JМР
DIVTA5:5 JМР *+1
:2 А/U
13 JМР
:А/I 2
13 JМР
:А/L WS+1
13 JМР
:А/Н WS<<1
13 JМР
;
DНЕХ8:ASN @400-32
AUX =H0F0F0F0F0F0F0F0F
15 АТХ
ARX =Н0606060606060606
ААХ =Н1010101010101010
ASN @400+2 ; 04
15 АТХ
ASN @400+1 ; 06
15 АОХ -1
ASN @400+1
15 АОХ     ; 07
15 ARX
ARX ="00000000"
14 JМР
;
CHST2:15 UТМ -WS
15 JMNE ERROR
2 UТМ -1
2 JMNE ERROR
3 UТМ 1
3 JMNE ERROR
4 JMNE ERROR
5 JMNE ERROR
6 UТМ -1
6 JMNE ERROR
7 UТМ 1
7 JMNE ERROR
13 JМР
;
CHSTAK:
15 JMNE ERROR
ХТА WS
ATI 2
2 JMNE ERROR
ASN 1024+32
ATI 2
2 JMNE ERROR
ХТА WS+2
ATI 2
2 JMNE ERROR
ASN 1024+32
ATI 2
2 JMNE ERROR
ХТА WS+1
ATI 2
ASN 1024+32
ATI 3
2 UТМ 1
2 JMNE ERROR
3 UТМ 1
3 JMNE ERROR
ХТА =HFFFF FFFF 0000 0001
АТХ WS
АТХ WS+1
АТХ WS+2
13 JМР
;
;         ДУРИКОМ ПОЛУЧИЛСЯ ЭКСТРАКОД
;         И ПЕРЕСКОЧИЛИ В РЕЗЕРВНУЮ ГРУППУ.
;         СРОЧНО ВЕРТАЕМСЯ НАЗАД !!!
;
EXTR:UТА *+3
WMOD @3В ; НОВЫЙ СЧАС
IТА 13 ; А ЭТО - СТАРЫЙ
RЕТ
;            ВЕРНУЛИСЬ ВОТ СЮДА
:АТХ
:АТХ
:ATI 3
2 VТМ
4 VТМ @41
UТА
АТХ ER6
JМР РУГАНЬ
;
END
*CALL DISPLOAD
*CALL DISSND:BLOAD
*END F