User Tag List

Показано с 1 по 10 из 19

Тема: Скрипты-86РК

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    11.04.2023
    Адрес
    г. Ташкент, Узбекистан
    Сообщений
    181
    Спасибо Благодарностей отдано 
    57
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    40 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb Скрипты-86РК/Апогей

    Этой темой я заинтересовался относительно недавно.
    Оглядываясь на такие экзотические скриптовые языки, как PERL и RUBY, которые раньше всюду управляли интернет сайтами, я подумал, а не разработать ли нечто подобное и для РАДИО-86РК?
    Если в Windows и Linux пакетные файлы описываются как Batch и Bash, синтаксис которых своеобразен, почему бы и на РАДИО-86РК не описывать файлы автоматизации на каком-то своём синтаксисе?

    Главное условие - компактность интерпретатора/парсера/транслятора.
    Если в машинный код внедрить в синтаксис скрипта, можно существенно сэкономить на размере.

    Но, те, кто когда-нибудь программировал в машинном коде, помнит, что ручная адресация всяческих условных и безусловных переходов - настоящая головная боль.
    Потому - обязательна поддержка меток.

    Ниже я представляю экспериментальную среду для редактирования и запуска скрипта.
    В качестве демонстрации я описал там сценарий-затравку для игры «Питон».

    Синтаксис прост.
    • Каждый байт транслируется в конечный код как есть
    • Каждое слово транслируется в конечный код как есть
    • Буквы «G-Z» адресуют область переменных/меток (ячейки 7640-767F Монитора)
    • Символ «@» используеся для чтения из ячейки переменной/метки
    • Символами «[» и «]» экранируется блок
    • Символ «:» адресует текущий адрес кода для метки
    • Строчные комментарии отделяются как в ассемблере - через «;»


    Код:
    ;;;;;;;;;;;;;
    ; SCRIPT-86RK
    ;;;;;;;;;;;;;
    F803K F81BI                     ; LET K=F803,I=F81B
    F809S F818T                     ; LET S=F809,T=F818
    F821Z                           ; LET Z=F821
    
    :G 21                           ; LXI H,"***ПИТОН***"
    [0D 0A "***ПИТОН***" 0A 00]
    CD T@                           ; CALL TEXT
    
    :W 21                           ; LXI H,"НАЖМИТЕ <ВК>"
    [0D 07 "НАЖМИТЕ <ВК>" 00]
    CD T@                           ; CALL TEXT
    CD K@                           ; CALL KEY
    FE 1B C8                        ; IF KEY==ESC THEN RETURN
    FE 0D C2 W@                     ; IF KEY<>13 THEN GOTO W
    Вложения Вложения
    Последний раз редактировалось Alikberov; 17.07.2025 в 20:37.
    Электроника КР-03; ZX-Spectrum "Ленинград-48"; Atari-130XE; Поиск-1...

    Эти 5 пользователя(ей) поблагодарили Alikberov за это полезное сообщение:

    Aleks1985(07.07.2025), Hammer(08.07.2025), MaratBest(08.07.2025), Oleg N. Cher(07.07.2025), Pyk(07.07.2025)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Восстановление оригинально 86РК
    от doc_fbi в разделе Радио-86РК
    Ответов: 20
    Последнее: 13.09.2022, 11:35
  2. РАДИО-86РК на Z80
    от Vladimir_S в разделе Радио-86РК
    Ответов: 310
    Последнее: 06.06.2017, 21:13
  3. Модульный РАДИО-86РК
    от AlexZ в разделе Радио-86РК
    Ответов: 180
    Последнее: 06.06.2017, 19:18
  4. Радио 86РК
    от Shnurkov в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 02.01.2009, 12:52

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •