На УКНЦ, как понимаю, в основногм использовали Паскаль, а не СИ.
Вид для печати
На УКНЦ, как понимаю, в основногм использовали Паскаль, а не СИ.
Насчет компилеров, MACRO-11 входит в систему, здесь есть C (пусть название - TCP/IP for RT-11 не пугает - там один или два образа дискет содержат C). Если покопаться, могу найти FORTRAN IV, FROTRAN 77 и PASCAL. Ну и BASIC наверное есть, но только интерпретатор - компиляторов для RT-11 не видел.
В RT-11 системным языком высокого уровня был FORTRAN (я не прикалываюсь, это правда). В описании местного фортрана была отдельная глава про использование системных вызовов.
Кстати, компилился он очень хорошо и код порождал весьма оптимальный.
form, Спасибо. Если поищешь буду тебе очень признателен.
Подскажите, как правильно по системному запретить передачу кодов клавиш от клавиатуры на терминал, но при этом самому эти коды получать?
Приведу пример: я вывожу какую-то информацию на экран, после чего спрашиваю "Continue?". Тут человек должен нажать любую клавишу, и программа продолжится. Если делать опрос клавиш через EMT 340, то коды клавиш отображаются на экране, а мне этого не надо. Если же делать через чтение данных напрямую из канала 0 (канал клавиатуры), то символы все равно отправляются в монитор и потом печатаются. Т.е. какая-то должна быть системная функция, запрещающая выводить на терминал коды приходящих клавиш, но я ее не знаю.
Для этого надо установить бит TTSPC$ (12й) в $JSW (44).
к примеру:
печатает подсказку, ждет нажатия клавиши, выходитКод:.MCALL .TTYIN,.PRINT,.EXIT
$JSW = 44
TTSPC$ = 10000
TEST: BIS #TTSPC$,@#$JSW
.PRINT #PROMPT
.TTYIN
.EXIT
PROMPT: .ASCII /--->/<200>
---------- Post added at 17:46 ---------- Previous post was at 17:44 ----------
Другой вариант - запретить прерывания от клавиатуры и работать напрямую с регистрами, но этот вариант несовместим с виртуальными программами и не будет работать в системах с поддержкой многотерминальности.
---------- Post added at 17:57 ---------- Previous post was at 17:46 ----------
Еще дополнение - иногда полезен бит TCBIT$ (6й) - при его установке .TTINR (EMT 340) не останавливается в ожидании символа, а проходит дальше с установленным битом C если ничего не нажато.