На УКНЦ если память мне не изменяет есть некий С2, который ничем от DL11 не отличается? ;)
Вид для печати
Программа CPS.SAV написана (в том числе и) для УКНЦ.
Какие результаты она сообщает при запуске на реальной УКНЦ?
Версия 1.1 CPS.SAV для УКНЦ :)
Теперь регистры и вектора для ввода и вывода задаются раздельно - это даёт возможность пропатчить CPSENG.SAV значениями TTKS и TTKINT в ячейках 01000, 01002 (если нужные значения отличаются от находящихся там 0177560 и 060) и задавать только значения TTPS и TTPINT тестируемого порта в ячейках 01004, 01006 .Код:.GET CPSENG
.E 1000-1012
177560 000060 177564 000064 000000 000000
.REE
CPS: 5735
.
Так же, как и в предыдущей версии - запуск по команде REENTER или с ненулевым значением в ячейке 01012 - приводит к отмене вывода программой необязательных сообщений.
Для полного счастья - еще одну ячейку сделать патчуемой и в ней держать число тиков в секунду - так, на всякий случай :)
Код:.GET CPSENG
.E 40
001030
.D 500=52737,4000,177520,137,1030
.ST 500
CPS - CHECK TERMINAL OUTPUT SPEED - V1.1
PRESS ANY KEY TO EXIT
CPS: 240
PROGRAM COMPLETED
.
---------- Post added at 19:36 ---------- Previous post was at 19:34 ----------
Ну и таки на живом УКНЦ интересно посмотреть сколько консоль покажет...
Хотя если с силами соберусь - может сам перетащу, только это надо задействовать 386 колмпьютер и контроллер дискет :)
---------- Post added at 20:04 ---------- Previous post was at 19:36 ----------
Кстати о версиях программ. В RESORC как минимум начиная с RT-11 V5.4 (более ранние проверять лень, но в макробиблиотеке поддержка с 5.0 начинается) есть фича, позволяющая показывать версию (версии) модуля.
В данном случае версия V01.02 (генерится .IDENT если явно не сказать IDENT=NO, его в MAP файле видно если есть).Код:.RESORC TEST.SAV/V
Release = V01, ID(s): 2
.TY TEST.MAC
.MCALL .MODULE
.MODULE TEST,RELEASE=V01,VERSION=02,COMMENT=<Test module>,AUDIT=YES
START: 104350
.END START
Если RELEASE не писать, по умолчанию V05. RELEASE должен быть одинаков во всех файлах которые принимают участие в программе. Это может мешать если используются библиотеки DECовские, но на MACRO походу их никто кроме меня не пользует :)
Может пригодиться чтобы различать SAVы сразу :)
Поведение команд, что вспомнилось...
Тут больше чем в УКНЦ влезет, но поди не помешает ;)
Может забыл чего - в частности поведение EIS, но я и сам не особо помню что и как...
Код:Mnem Code N Z V C Mnem Code N Z V C Непредсказуемый
~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ результат
HALT 000000 - - - - WAIT 000001 - - - - ~~~~~~~~~~~~~~~~~
RTI 000002 * * * * BPT 000003 * * * * JMP (Rx)+
IOT 000004 * * * * RTT 000006 * * * * JSR Rx,(Ry)+
RESET 000005 - - - - MFPT 000007 - - - - MOV Rx,(Rx)+
SPL 00023L - - - - NOP 000240 - - - - MOV Rx,-(Rx)
CLC 000241 - - - 0 CLV 000242 - - 0 - MOV Rx,@(Rx)+
CLZ 000244 - 0 - - CLN 000250 0 - - - MOV Rx,@-(Rx)
CCC 000257 0 0 0 0 SEC 000261 - - - 1 MOV PC,X
SEV 000262 - - 1 - SEZ 000264 - 1 - - MOV PC,@X
SEN 000270 1 - - - SCC 000277 1 1 1 1 ASH #37,Rx
BR 000400 - - - - BNE 001000 - - - - ASHC #37,Rx
BEQ 001400 - - - - BGE 002000 - - - -
BLT 002400 - - - - BGT 003000 - - - - Прерывание 4 или 10
BLE 003400 - - - - BPL 100000 - - - - ~~~~~~~~~~~~~~~~~~~
BMI 100400 - - - - BVC 102000 - - - - JMP Rx
BVS 102400 - - - - BHI 101000 - - - - CALL Rx
BLOS 101400 - - - - BCC 103000 - - - - HALT в режимах U, S
BCS 103400 - - - - BHIS 103000 - - - -
BLO 103400 - - - - JMP 0001DD - - - - Прерывание 10
EMT 104000 * * * * TRAP 104400 * * * * ~~~~~~~~~~~~~
MARK 0064NN - - - - JSR 004RDD - - - - TSTSET Rx
RTS 00020R - - - - SOB 077RXX - - - - WRTLCK Rx
CSM 0070DD - - - - CLR(B) .050DD 0 1 0 0 CSM в режиме K
COM(B) .051DD * * 0 1 INC(B) .052DD * * * -
DEC(B) .053DD * * * - NEG(B) .054DD * * * *
ADC(B) .055DD * * * * SBC(B) .056DD * * * * На некоторых CPU
TST(B) .057DD * * 0 0 ROR(B) .060DD * * * * SWAB не меняет V.
ROL(B) .061DD * * * * ASR(B) .062DD * * * *
ASL(B) .063DD * * * * WRTLCK 0076DD * * 0 -
TSTSET 0072DD * * 0 * SWAB 0003DD * * 0 0
SXT 0067DD - * 0 - MFPS 1067DD * * 0 -
MTPS 1064DD * * * * MTPD 1066DD * * 0 -
MTPI 0066DD * * 0 - MFPD 1065SS * * 0 -
MFPI 0065SS * * 0 - MOV(B) .1SSDD * * 0 -
CMP(B) .2SSDD * * * * BIT(B) .3SSDD * * 0 -
BIC(B) .4SSDD * * 0 - BIS(B) .5SSDD * * 0 -
ADD 06SSDD * * * * SUB 16SSDD * * * *
MUL 070RSS * * 0 * DIV 071RSS * * * *
ASH 072RSS * * * * ASHC 073RSS * * * *
XOR 074RDD * * 0 -