Закончена работа над книгой Бейсик за 30 часов.
https://sysadminmosaic.ru/b30h
Вид для печати
Закончена работа над книгой Бейсик за 30 часов.
https://sysadminmosaic.ru/b30h
Если кому интересно, зашил ДВК-шный Бэйсик в РЕмулятор
https://zx-pk.ru/threads/21519-re-mu...=1#post1218207
Подскажите пожалуйста, какими способами можно передавать исходники на интерпретатор Бейсика ДВК в эмуляторах?
В любом эмуляторе можно запустить BASIC.SAV и после приглашения "READY" выполнить команды "OLD" и "RUN". В следующем примере использован "Эмулятор ДВК", в конфиге которого к приводу "HD1" подключена папка Windows "WorkDir", в которой находится файл "KOI8.BAS" из комплекта "Эмулятора RT-11":
Кроме этого универсального способа, который работает в любом эмуляторе, когда на диске с логическим именем "DK" расположен нужный для запуска файл с расширением ".BAS" - есть ещё более простой способ, котрый работает только в "Эмуляторе ДВК" и "Эмуляторе RT-11".Код:.AS HD1 DK
.BASIC
BASIC-11/RT-11 V02-03Y
OPTIONAL FUNCTIONS (ALL, NONE, OR INDIVIDUAL)?
READY
OLD KOI8
READY
RUN
KOI8 08-DEC-25 14:17:54
Привет !!!
READY
Если при запуске любого из этих эмуляторов передать в качестве аргумента запуска строку с относительным или абсолютным путём к файлу - файл будет автоматически загружен и запущен, а после завершения работы программы эмулятор автоматически закроется:
Код:C:\RT-11 Emulator\Demo>rt11 "koi8.bas"
BASIC-11/RT-11 V02-03Y
OPTIONAL FUNCTIONS (ALL, NONE, OR INDIVIDUAL)?
Привет !!!
C:\RT-11 Emulator\Demo>
Код:C:\>rt11 "C:\RT-11 Emulator\Demo\koi8.bas"
BASIC-11/RT-11 V02-03Y
OPTIONAL FUNCTIONS (ALL, NONE, OR INDIVIDUAL)?
Привет !!!
C:\>
Помимо этого настройка в Windows ассоциации расширений SAV и BAS с "Эмулятором ДВК" или "Эмулятором RT-11" позволяет запускать такие файлы на выполнение из каталогов Windows двойным кликом.
По какой причине не работает программа вывода таблицы символов?
Вложение 83299Код:10 FOR I = 1 TO 255
20 PRINT CHR¤(I); " ";
30 NEXT I
https://emulator.pdp-11.org.ru/misc/DVK-1.pdf
страница 143
Вложение 83307
Ошибка 123, скорее всего, связана с отсутствием оператора LET определения переменной I, см. пример на стр.35
Хотя оператор LET не требуется для определения переменной цикла FOR. Следующее подозрение - что в бейсике ДВК отсутствует встроенная функция CHR$.
Не, я думаю, что CHR$ принимает только целочисленные значения, а ей тут подсовывают число с плавающей запятой, вот и ругается на несуществующую переменную.
Аргументом CHR$ может быть только число из диапазона 0..32767.
В описании функции вообще написано вот такое
Код:CHR¤(ЕХР) - Возвращает строку из одного символа. Значение ЕХР может иметь вид (N+128),
где N - десятичное значение кода КОИ-7 в пределах от 0 до 127.
Однако символы вида CHR¤(N) и CHR¤ (N+128), не эквивалентны,
хотя и являются одним и тем же символом в таблице КОИ-7.
Попробуйте I не от 1, а от 32
Страница 25 книги https://emulator.pdp-11.org.ru/misc/DVK-1.pdf:
"К сожалению, в интерпретаторе ДВК-1 (но не в языке программирования Бейсик) не предусмотрена работа с символьными константами и переменными. Интерпретатор ДВК-1 позволяет использовать символы лишь в примечаниях и для выдачи их на экран".