Код:
; *******************************************************
; * *
; * Т Е С Т О В Ы Й М О Н И Т О Р Б К - 0 0 1 0 *
; * *
; *******************************************************
TMBK: .MCALL .EXIT ;,.LOOKUP,.READW,.CLOSE
STEND = 1
; К О Н С Т А Н Т Ы
; =================
N = 40 ;- начало координат
RUPZ = 167762 ;- регистр управления /запись
RUPCT = 167764 ;- регистр управления /чтение
RADZ = 167772 ;- регистр адрес/данные /запись
RADCT = 167774 ;- регистр адрес/данные /чтение
; И Н И Ц И А Л И З А Ц И Я
; =========================
MIN: CLR @#177560
; М О Н И Т О Р
; =============
MON: JSR R5,PCS ;- заголовок
TZAG
1$: JSR R5,PCS ;- приглашение
TPRIGL
2$: JSR PC,PRKOM ;- прием команды
MOV #SPKOM,R3 ;- разбор команды
3$: TSTB (R3)
BEQ 2$
CMPB R1,(R3)+
BNE 3$
DEC R3
SUB #SPKOM,R3 ;- номер команды
ASL R3
TST R2
JSR PC,@TBKOM(R3) ;- выполнение команды
BR 2$
BR 1$
BR MON
; S - выход в систему
; --------------------
WYH: TST (SP)+ ;- выход в систему
JSR R5,PCS
TWYH
MOV #100,@#177560
.EXIT
; СПИСОК КОМАНД
; =============
SPKOM: .ASCIZ /ADI,-ZMFJRSKLNOBCPTE/<15>
.EVEN
TBKOM: PADR,PDLM,PCTTS,PCTSS,PCTPS
PCTSC,PCTZSC,PZSC
PPM,PZM,PSM,PKS,PPCM
POWE,PORPLY,PRBS,PB01,PPUSK
PTEST,WYH,PMENU
; ЧТЕНИЕ СЛОВА ИЗ БК
; ==================
.IF DF,STEND
PCTSBK: MOV @#TADR,R1
; Вход: R1 - адрес
; Выход: R0 - данные
PCTSBR: MOV R5,-(SP)
MOV #RUPZ,R5
MOV #10005,(R5) ;- установка фазы адреса
MOV #1,(R5) ;- исходное состояние
MOV R1,@#RADZ ;- адрес
MOV #11,(R5) ;- SYNC
MOV #0,@#RADZ ;- снять адрес
MOV #31,(R5) ;- DIN
MOV #11,(R5) ;- ^DIN
MOV #1,(R5) ;- ^SYNC
TST @#PRORPL
BNE 3$
TST @#RUPCT ;- RPLY?
BIT #200,@#RUPCT ;- RPLY?
BEQ 1$ ;- нет.
3$: MOV @#RADCT,R0
MOV @#RADCT,R0 ;- данные
BR 2$
1$: SEC ;- ошибка
2$: MOV (SP)+,R5
RTS PC
.IFF
PCTSBK: MOV @#TADR,R1
PCTSBR: MOV (R1),R0
RTS PC
.ENDC
; ЗАПИСЬ СЛОВА В БК
; =================
.IF DF,STEND
PZSBK: MOV @#TADR,R1
; Вход: R1 - адрес
; Выход: R0 - данные
PZSBKR: MOV R5,-(SP)
MOV #RUPZ,R5
MOV #5,(R5) ;- установка фазы адреса
MOV #1,(R5) ;- исходное состояние
MOV R1,@#RADZ ;- адрес
MOV #101,(R5) ;- WTBT
MOV #111,(R5) ;- SYNC
MOV #0,@#RADZ ;- снять адрес
MOV #11,(R5) ;- ^WTBT (для записи слова)
MOV R0,@#RADZ ;- данные
MOV #51,(R5) ;- DOUT
MOV #11,(R5) ;- ^DOUT
MOV #0,@#RADZ ;- снять данные
MOV #1,(R5) ;- ^SYNC
TST @#PRORPL
BNE 1$
TST @#RUPCT ;- RPLY?
BIT #200,@#RUPCT ;- RPLY?
BNE 1$ ;- да.
SEC ;- ошибка
1$: MOV (SP)+,R5
RTS PC
.IFF
PZSBK: MOV @#TADR,R1
PZSBKR: MOV R0,(R1)
RTS PC
.ENDC
; ЗАПИСЬ СЛОВА/БАЙТА
; ------------------
PZSBBK: BIT #1,@#PKRSB
BEQ PZSBK
; ЗАПИСЬ БАЙТА В БК
; =================
.IF DF,STEND
PZBBK: MOV @#TADR,R1
; Вход: R1 - адрес
; Выход: R0 - данные
PZBBKR: BIT #1,R1
BEQ 10$
SWAB R0 ;- старший байт
10$: MOV R5,-(SP)
MOV #RUPZ,R5
MOV #5,(R5) ;- установка фазы адреса
MOV #1,(R5) ;- исходное состояние
MOV R1,@#RADZ ;- адрес
MOV #101,(R5) ;- WTBT
MOV #111,(R5) ;- SYNC
MOV #0,@#RADZ ;- снять адрес
MOV R0,@#RADZ ;- данные
MOV #151,(R5) ;- DOUT
MOV #11,(R5) ;- ^DOUT,^WTBT
MOV #0,@#RADZ ;- снять данные
MOV #1,(R5) ;- ^SYNC
TST @#PRORPL
BNE 1$
TST @#RUPCT ;- RPLY?
BIT #200,@#RUPCT ;- RPLY?
BNE 1$ ;- да.
SEC ;- ошибка
1$: MOV (SP)+,R5
RTS PC
.IFF
PZBBK: MOV @#TADR,R1
PZBBKR: MOVB R0,(R1)
RTS PC
.ENDC
; регистр 167762 - управление/запись (RUPZ)
; регистр 167764 - управление/чтение (RUPCT)
; регистр 167772 - адрес-данные/запись (RADZ)
; регистр 167774 - адрес-данные/чтение (RADCT)
; 0 (000001) - HALT (ОСТ)
; 2 (000004) - установка фазы адреса для интерфейса
; 3 (000010) - SYNC
; 4 (000020) - DIN
; 5 (000040) - DOUT
; 6 (000100) - WTBT
; 7 (000200) - RPLY
; 14(040000) - IAKO (ППРИ)
; 15(100000) - VIRQ (ТПР)
; ПРИЕМ КОМАНДЫ
; =============
; Выход: R0 - код команды
; R1 - число
; R2 - счетчик числа
; N - признак числа
PRKOM: MOV #BUFT,R1 ;- адр.буф.т.
CLR R2 ;- сч.буфера
2$: JSR PC,PRK ;- прием кода
CMP R0,#177 ; проверка на цифру
BNE 1$
TST R2 ;- "ЗБ"
BEQ 2$
CLRB -(R1)
DEC R2
JSR R5,PCS
TZB
BR 2$
1$: CMP R0,#15
BEQ 3$
CMP R0,#40
BLO 2$
JSR PC,PCK ;- печать кода
CMP R0,#60
BLO 3$
CMP R0,#67
BHI 3$
MOVB R0,(R1)+ ;- запись кода в буфер
INC R2
BR 2$
3$: CLRB (R1)+ ;- конец числа в буфере
PCT8CB: MOV R2,-(SP) ; чтение числа из буф.т.
MOV R0,-(SP)
MOV #BUFT,R1
CLR R0 ;- буфер числа
2$: MOVB (R1)+,R2
BEQ 1$
BIC #177770,R2
ASH #3,R0 ;- сдвиг влево на 3 разряда
ADD R2,R0
BR 2$
1$: MOV (SP)+,R1 ;- команда
MOV (SP)+,R2 ;- признак числа
RTS PC
; ЧТЕНИЕ СЛОВА/БАЙТА
; ------------------
PCTSB: JSR PC,PCTSBK
BIT #1,@#PKRSB
BEQ 1$
BIT #1,R1
BEQ 1$
SWAB R0
1$: RTS PC
; A ( XXXXXXA ) - индикация (установка) адреса
; --------------------------------------------
PADR: BEQ 1$ ;- нет числа
MOV R0,@#TADR ;- новый адрес
RTS PC
1$: MOV @#TADR,R0 ;- печать адреса
JSR PC,PC8SPR
RTS PC
; D ( XXXXXXD ) - индикация (установка) длины массива
; ---------------------------------------------------
PDLM: BEQ 1$ ;- нет числа
MOV R0,@#DLM
RTS PC
1$: MOV @#DLM,R0
JSR PC,PC8SPR
RTS PC
; I ( XXXXXXI ) - чтение (запись) текущего слова
; ----------------------------------------------
PCTTS: BEQ PCTPSB ;- нет числа
JSR PC,PZSBBK ;- запись слова/байта
BCS PZSOH
RTS PC
PZSOH: JSR R5,PCS
TZAW
RTS PC
TZAW: .ASCIZ <15><12><16>/*** ЗАВИСАНИЕ ***/<17><15><12>
.EVEN
; чтение слова
; ------------
PCTPSB: JSR PC,PCTSB ;- чтение слова/байта по текущему адресу
BCS PCTOSH
JSR PC,PC8SBP ;- печать слова с пробелом
RTS PC
; чтение слова/байта с ошибкой
; ----------------------------
PCTOSH: BIT #1,@#PKRSB
BNE 1$
JSR R5,PCS ;- печать 7-ми пробелов
T7P
RTS PC
1$: JSR R5,PCS ;- печать 7-ми пробелов
T4P
RTS PC
; , ( XXXXXX, ) - чтение следующего слова (с записью текущего)
; ------------------------------------------------------------
PCTSS: BEQ 1$ ;- нет числа
JSR PC,PZSBBK ;- запись текущего слова
1$: ADD @#PKRSB,@#TADR
BR PCTPSB
; - ( XXXXXX- ) - чтение предыдующего слова (с записью текущего)
; --------------------------------------------------------------
PCTPS: BEQ 1$ ;- нет числа
JSR PC,PZSBBK ;- запись текущего слова
1$: SUB @#PKRSB,@#TADR
BR PCTPSB
; Z ( XXXXXXZ ) - зациклить чтение (запись+чтение) слова
; ------------------------------------------------------
PCTSC: MOV #2,-(SP)
PCTSC0: MOV R0,R3
MOV R2,R5
4$: TST @#PROWE
BNE 6$
JSR PC,PCNS
6$: MOV #8.,R4
3$: TST R5
BEQ 1$
MOV R3,R0
JSR PC,PZSBK
BCS 2$
1$: JSR PC,PCTSBK
BCS 2$
ADD (SP),PC
MOV R0,R3
TST @#PROWE
BNE 5$
JSR PC,PC8SPR ;- печать слова с пробелом
5$: TSTB @#177560
BMI 2$
SOB R4,3$
BR 4$
2$: TST (SP)+
PCPR: TSTB @#177562
ADD #2,(SP)
RTS PC
; M ( XXXXXXM ) - зациклить чтение/запись нуля (заданного кода)
; -------------------------------------------------------------
PCTZSC: BNE 1$
JSR PC,PCTSBK
1$: INC R2
CLR -(SP)
BR PCTSC0
; F ( XXXXXXF ) - зациклить запись слова (повторить цикл записи пред.значения)
; ----------------------------------------------------------------------------
PZSC: BEQ 1$
MOV R0,@#BUFCZ
1$: MOV @#BUFCZ,R0
2$: JSR PC,PZSBK
BCS 3$
TSTB @#177560
BPL 2$
3$: BR PCPR
; (XXXXXX)J - перемещение массива
; -------------------------------
PPM: BEQ KPPM
MOV @#TADR,R3
MOV R0,R4
MOV @#DLM,R2
BEQ KPPM
CLC
ROR R2
1$: MOV R3,R1
JSR PC,PCTSBR
BCS KPPM
MOV R4,R1
JSR PC,PZSBKR
BCS KPPM
ADD #2,R3
ADD #2,R4
SOB R2,1$
KPPM: BR PCPR
; (XXXXXX)R - расписать массив
; ----------------------------
PZM: BEQ PCPR
MOV @#TADR,R1
MOV @#DLM,R2
BEQ PCPR
CLC
ROR R2
1$: JSR PC,PZSBKR
BCS 2$
ADD #2,R1
SOB R2,1$
2$: BR PCPR
; (XXXXXX)S - сравнение массивов
; --------------------------------
PSM: BEQ PCPR
MOV @#DLM,R2
CLC
ROR R2
MOV @#TADR,R3
MOV R0,R4
2$: MOV R3,R1
JSR PC,PCTSBR
BCS 3$
MOV R0,R5
MOV R4,R1
JSR PC,PCTSBR
BCS 3$
CMP R0,R5
BEQ 1$
MOV R2,-(SP)
MOV R0,-(SP)
JSR PC,PCNS
MOV R3,R0
JSR PC,PC8SSL ;- печать адреса
MOV R5,R0
JSR PC,PC8SPR ;- печать слова с пробелом
MOV (SP)+,R0
JSR PC,PC8SPR ;- печать слова с пробелом
MOV (SP)+,R2
1$: ADD #2,R3
ADD #2,R4
SOB R2,2$
3$: BR PCPR
; K - контрольная сумма массива
; -----------------------------
PKS: MOV @#DLM,R2
BEQ PCPR
CLC
ROR R2
MOV @#TADR,R1
CLR R3
1$: JSR PC,PCTSBR
BCS BPCPR
ADD R0,R3
ADC R3
ADD #2,R1
SOB R2,1$
JSR R5,PCS
TKS
MOV R3,R0
JSR PC,PC8S
BPCPR: BR PCPR
; L - листинг массива
; --------------------
PPCM: MOV @#TADR,-(SP)
MOV @#DLM,R3
BIT #1,@#PKRSB
BNE 4$
CLC
ROR R3
4$: MOV #8.,R4
SUB R4,R3
BPL 1$
ADD R3,R4
BLE 2$
1$: JSR PC,PCNS
MOV @#TADR,R0
JSR PC,PC8SSL
3$: JSR PC,PCTPSB
ADD @#PKRSB,@#TADR
SOB R4,3$
JSR PC,POPRKL
BCS 2$
BR 4$
2$: JSR PC,PCNS
MOV (SP)+,@#TADR
BR BPCPR
; N - отмена выдачи на экран
; ---------------------------
POWE: COM @#PROWE
BEQ BPCPR
JSR R5,PCS
TOWE
BR BPCPR
; O - отмена проверки REPLY
; --------------------------
PORPLY: COM @#PRORPL
BEQ BPCPR
JSR R5,PCS
TORPL
B1PCPR: BR BPCPR
; B - режим байта/слова
; ---------------------
PRBS: BIT #1,@#PKRSB
BEQ PRB
JSR R5,PCS
TRS
MOV #2,@#PKRSB
BIC #1,@#TADR
BR B1PCPR
PRB: JSR R5,PCS
TRB
MOV #1,@#PKRSB
BR B1PCPR
; C - бегущие 0/1
; ----------------
PB01: JSR R5,PCS
TB01
3$: MOV #1,R0
1$: JSR PC,PZSBK
BCS 4$
ASL R0
BCC 1$
MOV #177776,R0
2$: JSR PC,PZSBK
BCS 4$
SEC
ROL R0
BCS 2$
TSTB @#177560
BPL 3$
4$: BR B1PCPR
; P - пуск процессора
; --------------------
PPUSK: CLR @#RUPZ
JSR R5,PCS
TPPRC
BR B1PCPR
; ПЕРЕХОД НА МЕНЮ
; ---------------
PMENU: ADD #4,(SP)
RTS PC
; ТЕСТИРОВАНИЕ
; ============
PTEST: JSR PC,PRK ;- прием кода
JSR PC,PCK ;- печать кода
BIC #177770,R0
CMP R0,#CTEST
BLOS 1$
BR B1PCPR
1$: ASL R0
JSR PC,@TBTEST(R0)
BR B1PCPR
CTEST = 2
TBTEST: T0,T1,T2
T0:
RTS PC
; ТЕСТ ОЗУ
; --------
T1: JSR PC,THA
BCS KT1
JSR PC,THD
BCS KT1
JSR PC,TCONST
BCS KT1
JSR PC,TA
BCS KT1
BR T1
KT1: RTS PC
DLOZU = 40000
; ТЕСТ ШИН АДРЕСА
; ---------------
THA: JSR R5,PCS
TTHA
MOV #1,R5
2$: MOV R5,R0
MOV R0,R1
JSR PC,PZSBKR
BCS KTHA
JSR PC,PCTSBR
CMP R0,R5
BEQ 1$
JSR PC,PCOHST
1$: ASL R5
BPL 2$
KTHA: RTS PC
; ТЕСТ ШИН ДАННЫХ
; ---------------
THD: JSR R5,PCS
TTHD
MOV #1,R5
2$: MOV R5,R0
JSR PC,PZSBK
BCS KTHA
JSR PC,PCTSBK
CMP R0,R5
BEQ 1$
JSR PC,PCOHST
1$: ASL R5
BCC 2$
MOV #177776,R5
4$: MOV R5,R0
JSR PC,PZSBK
JSR PC,PCTSBK
CMP R0,R5
BEQ 3$
JSR PC,PCOHST
3$: SEC
ROL R5
BCS 4$
KTHD: RTS PC
; ТЕСТ НА КОНСТАНТЫ
; -----------------
TCONST: CLR R0
JSR PC,PTK
BCS KTCONS
MOV #177777,R0
JSR PC,PTK
BCS KTCONS
MOV #125252,R0
JSR PC,PTK
BCS KTCONS
MOV #52525,R0
JSR PC,PTK
BCS KTCONS
KTCONS: RTS PC
; ТЕСТ НА КОНСТАНТУ
; -----------------
; Вход: R0 - константа
PTK: MOV R0,-(SP)
JSR R5,PCS
TTK
MOV (SP),R0
JSR PC,PC8SPR
MOV (SP)+,R0
MOV @#TADR,R1 ;- запись в ОЗУ
MOV @#DLM,R2
CLC
ROR R2
MOV R2,R4
1$: JSR PC,PZSBKR
ADD #2,R1
SOB R2,1$
MOV R0,R5 ;- чтение ОЗУ
MOV @#TADR,R1
3$: JSR PC,PCTSBR
CMP R0,R5
BEQ 2$
JSR PC,PCOHST
2$: ADD #2,R1
SOB R4,3$
TSTB @#177560
BPL KTK
SEC
KTK: RTS PC
; АДРЕСНЫЙ ТЕСТ
; -------------
TA:
; прямой тест
; -----------
JSR R5,PCS
TATP
MOV @#TADR,R1 ;- запись в ОЗУ
MOV @#DLM,R2
CLC
ROR R2
MOV R2,R4
1$: MOV R1,R0
JSR PC,PZSBKR
ADD #2,R1
SOB R2,1$
MOV @#TADR,R1 ;- чтение ОЗУ
3$: JSR PC,PCTSBR
CMP R0,R1
BEQ 2$
MOV R1,R5
JSR PC,PCOHST
2$: ADD #2,R1
SOB R4,3$
; обратный тест
; -------------
JSR R5,PCS
TATI
MOV @#TADR,R1 ;- запись в ОЗУ
MOV @#DLM,R2
CLC
ROR R2
MOV R2,R4
4$: MOV R1,R0
COM R0
JSR PC,PZSBKR
ADD #2,R1
SOB R2,4$
MOV @#TADR,R1 ;- чтение ОЗУ
6$: JSR PC,PCTSBR
COM R0
CMP R0,R1
BEQ 5$
COM R0
MOV R1,R5
JSR PC,PCOHST
5$: ADD #2,R1
SOB R4,6$
RTS PC
; ПЕЧАТЬ ОШИБКИ ТЕСТА
; -------------------
PCOHST: MOV R1,-(SP)
MOV R0,-(SP)
JSR PC,PCNS
MOV R1,R0
JSR PC,PC8SSL
MOV R5,R0
JSR PC,PC8SPR
MOV (SP),R0
JSR PC,PC8SPR
MOV (SP)+,R0
MOV (SP)+,R1
POPRKL: TSTB @#177560
BPL 1$
CMPB @#177562,#40
BNE 2$
3$: TSTB @#177560
BPL 3$
TSTB @#177562
1$: RTS PC
2$: SEC
RTS PC
; ТЕСТ КЛАВИАТУРЫ
; ---------------
T2:
RTS PC
; БИБЛИОТЕКА ПРОЦЕДУР
; ===================
; ПРИЕМ КОДА
; ----------
PRK: TSTB @#177560
BPL PRK
MOV @#177562,R0
RTS PC
; ПЕЧАТЬ КОДА
; -----------
PCK: TSTB @#177564
BPL PCK
MOV R0,@#177566
RTS PC
; ПЕЧАТЬ СЛОВА
; ------------
PCS: MOV (R5)+,R0
PCSR:
1$: TSTB @#177564
BPL 1$
MOVB (R0)+,@#177566
BNE 1$
RTS R5
; ПЕЧАТЬ 8-РИЧНОГО СЛОВА
; ----------------------
; R0,R1,R2 - рабочие
PC8SSL: MOV #TSLP,-(SP)
BR PC8S0
PC8SPR:
PC8S: MOV #TPR,-(SP)
PC8S0: MOV #6,R2
MOV R0,R1
CLR R0
BR PC8S1
PC8S2: CLR R0
ROL R1
ROL R0
PC8S3: ROL R1
ROL R0
PC8S1: ROL R1
ROL R0
ADD #60,R0
JSR PC,PCK
SOB R2,PC8S2
MOV (SP)+,R0
JSR R5,PCSR
RTS PC
; ПЕЧАТЬ 8-РИЧНОГО СЛОВА/БАЙТА
; ----------------------------
; R0,R1,R2 - рабочие
PC8SBP: BIT #1,@#PKRSB
BEQ PC8SPR
; ПЕЧАТЬ 8-РИЧНОГО БАЙТА
; ----------------------
PC8BPR: MOV #TPR,-(SP)
MOV #3,R2
SWAB R0
MOV R0,R1
CLR R0
BR PC8S3
; НОВАЯ СТРОКА
; ------------
PCNS: MOV #25,R0
JSR PC,PCK
RTS PC
; ЧТЕНИЕ 8-РИЧНОГО ЧИСЛА
; ----------------------
; Вход: R1 - текущий адрес
; Выход: R3 - слово
PCT8C: CLR R3
1$: MOVB (R1)+,R0 ;- поиск первой цифры
BEQ KCT8C
CMP R0,#60
BLO 1$
CMP R0,#67
BHI 1$
2$: BIC #177770,R0 ;- запись триады в R0
ASL R3
ASL R3
ASL R3
BIS R0,R3
MOVB (R1)+,R0 ;- чтение следующей цифры
CMP R0,#60
BLO KCT8C
CMP R0,#67
BHI KCT8C
BR 2$
KCT8C: DEC R1
RTS PC
; ЧТЕНИЕ 10-ТИЧНОГО ЧИСЛА
; -----------------------
; Вход: R1 - текущий адрес
; Выход: R3 - слово
PCT10C: CLR R3
1$: MOVB (R1)+,R0 ;- поиск первой цифры
BEQ KCT8C
CMP R0,#60
BLO 1$
CMP R0,#71
BHI 1$
2$: BIC #177760,R0 ;- запись триады в R0
MUL #10.,R3
ADD R0,R3
MOVB (R1)+,R0 ;- чтение следующей цифры
CMP R0,#60
BLO KCT8C
CMP R0,#71
BHI KCT8C
BR 2$
KCT10C: DEC R1
RTS PC
TZAG: .ASCII <14><33><41><16>
.ASCII / * * * Т Е С Т О В Ы Й М О Н И Т О Р Б К - 0 0 1 0 * * */<15><12>
.ASCII / ---------------------------------------------------------------/<15><12>
.ASCII <12>
.ASCII <17>/A ( XXXXXXA )/<16>/ - индикация (установка) адреса/<15><12>
.ASCII <17>/D ( XXXXXXD )/<16>/ - индикация (установка) длины массива/<15><12>
.ASCII <17>/I ( XXXXXXI )/<16>\ - чтение (запись) текущего слова/байта\<15><12>
.ASCII <17>/, ( XXXXXX, )/<16>\ - чтение следующего слова/байта (с записью текущего)/<15><12>
.ASCII <17>/- ( XXXXXX- )/<16>\ - чтение предыдующего слова/байта (с записью текущего)\<15><12>
.ASCII <17>/Z ( XXXXXXZ )/<16>/ - зациклить чтение (запись+чтение) слова/<15><12>
.ASCII <17>/M ( XXXXXXM )/<16>\ - зациклить чтение+запись слова\<15><12>
.ASCII <17>/F ( XXXXXXF )/<16>/ - зациклить запись слова /<15><12>
.ASCII <17>/(XXXXXX)J /<16>/ - перемещение массива/<15><12>
.ASCII <17>/(XXXXXX)R /<16>/ - заполнение массива/<15><12>
.ASCII <17>/(XXXXXX)S /<16>/ - сравнение массивов ТЕСТЫ БК/<15><12>
.ASCII <17>/K /<16>/ - контрольная сумма массива =========/<15><12>
.ASCII <17>/L /<16>/ - листинг массива/<15><12>
.ASCII <17>/N /<16>/ - отмена выдачи на экран Т1 - тест ОЗУ/<15><12>
.ASCII <17>/O /<16>/ - отмена проверки /<17>/REPLY/<16>/ Т2 - тест клавиатуры/<15><12>
.ASCII <17>/B /<16>\ - режим байта/слова\<15><12>
.ASCII <17>/C /<16>\ - бегущие 0/1\<15><12>
.ASCII <17>/P /<16>/ - пуск процессора/<15><12>
.ASCII <17>/E /<16>/ - выход в систему/<15><12>
.ASCIZ <17>
TPRIGL: .ASCIZ <15><12>/# /<33><113>
TSLP: .ASCII \/\ ;- /
TPR: .ASCIZ <40> ;- ПРОБЕЛ
T7P: .ASCII / / ;- 7 пробелов
T4P: .ASCIZ / / ;- 4 пробела
TZB: .ASCIZ <10><40><10> ;- ЗБ
TWYH: .ASCIZ <14><33><41><33><100><17> ;- выход из программы
TKS: .ASCIZ <15><12><16>/Контрольная сумма массива /<17>
TOWE: .ASCIZ <16>/ - отмена выдачи на экран/<17>
TORPL: .ASCIZ <16>/ - отмена проверки /<17>/RPLY/
TRS: .ASCIZ <16>/ - режим слова/<17>
TRB: .ASCIZ <16>/ - режим байта/<17>
TB01: .ASCIZ <16>\ - бегущие 0/1 \<17>
TPPRC: .ASCIZ <16>/ - пуск процессора/<17>
TTHA: .ASCIZ <33><131><N+20.><N+50.><16>/Тест шин адреса /<17>
TTHD: .ASCIZ <12><33><131><N+21.><N+50.><16>/Тест шин данных /<17>
TTK: .ASCIZ <12><33><131><N+22.><N+50.><16>/Тест на константу /<17>
TATP: .ASCIZ <12><33><131><N+22.><N+50.><16>/Адресный тест прямой /<17><33><113>
TATI: .ASCIZ <12><33><131><N+22.><N+50.><16>/Адресный тест инверсный /<17><33><113>
.EVEN
TADR: .WORD 0 ;- текущий адрес
DLM: .WORD 100000 ;- длина массива
BUFCZ: .WORD 0 ;- буфер числа для записи
PKRSB: .WORD 2 ;- переключатель слова/байта
PROWE: .WORD 0 ;- признак отмены печати на экран
PRORPL: .WORD 0 ;- признак отмены проверки REPLY
BUFT: .WORD 0 ;- буфер текста
.END TMBK
к нему присутствует руководство и параллельные вроде бы ещё что то с описанием