Скрипты-86РК

Советский компьютер Радио-86РК (1986) и его клоны

Moderator: Shaos

b2m
Devil
Posts: 918
Joined: 26 May 2003 06:57

Re: Скрипты-86РК («IF-THEN-ELSE» by ©b2m)

Post by b2m »

Alikberov wrote: 09 Jul 2025 10:00Вы потрясяюще хорошо изучили мой недо-транслятор!
У меня есть свой дизассемблер, вот я и тренеруюсь на кошках :)
Да и чего там изучать - всего 256 байт...
Alikberov wrote: 09 Jul 2025 10:00Нужно подумать, что бы вынести в подпрограммы. :no:
Начало блока, и else теперь - у них есть общее: генерация jmp и запись куда-то (по адресу в регистре) адреса после этого jmp. Я думаю, это можно выделить в подпрограмму.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
Mondx
Doomed
Posts: 533
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Скрипты-86РК

Post by Mondx »

b2m и чё, вставляет? Я имею ввиду эту всю возню с битами/байтами старого железа.
Отдача есть? Или всё впустую?
Ну, просто интересно.)
Всегда!
b2m
Devil
Posts: 918
Joined: 26 May 2003 06:57

Re: Скрипты-86РК

Post by b2m »

Mondx wrote: 09 Jul 2025 16:42 Отдача есть? Или всё впустую?
У тебя хобби есть? Какая отдача? Кроме самого процесса.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
DmitryMilk
Writer
Posts: 16
Joined: 12 May 2025 21:56

Re: Скрипты-86РК

Post by DmitryMilk »

Mondx wrote: 09 Jul 2025 16:42 Отдача есть? Или всё впустую?
Отдача - удовольствие от процесса и результата. Некоторые рыбалкой увлекаются, некоторые огородничеством. А некоторые - ретропрограммированием. И это даже дешевле обходится, чем рыбалка или огородничество - https://vk.com/video-116564673_456239023
b2m
Devil
Posts: 918
Joined: 26 May 2003 06:57

Re: Скрипты-86РК

Post by b2m »

Интересно, сложно ли будет добавить обработку таких строк:

Code: Select all

шаблон  генерация
A=B      MOV A,B
+C       ADD C
-C       SUB C
|C       ORA C
&C       ANA C
^C       XRA C
<C       CMP C
+11      ADI 11h
...
B=12     MVI B,12h
BC=1234  LXI B,1234h
++C      INR C
--C      DCR C
Можно будет писать: A=B +C -D
Или даже HL=["Hello, world!" 00]
:)
Нужно будет только помнить, что результат всегда в регистре А должен быть. B=C +D не сработает...
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Alikberov
Doomed
Posts: 362
Joined: 14 Oct 2019 18:10
Location: Tashkent

«Победит» + «Скрипты-86РК»

Post by Alikberov »

b2m wrote: 10 Jul 2025 03:11 Интересно, сложно ли будет добавить обработку таких строк:

Code: Select all

шаблон  генерация
A=B      MOV A,B
+C       ADD C
-C       SUB C
|C       ORA C
&C       ANA C
^C       XRA C
<C       CMP C
+11      ADI 11h
...
B=12     MVI B,12h
BC=1234  LXI B,1234h
++C      INR C
--C      DCR C
Можно будет писать: A=B +C -D
Или даже HL=["Hello, world!" 00]
:)
Нужно будет только помнить, что результат всегда в регистре А должен быть. B=C +D не сработает...
У меня имеется заготовка парсера с подобным синтаксисом:
  • «+C» → «ADD C»
  • «#C» → «ADD C» (здесь «#» - сдвоенный «+»)
  • «-C» → «SUB C»
  • «=C» → «SBB C» (здесь «=» - сдвоенный «-»)
  • «&C» → «ANA C»
  • «^C» → «XRA C»
  • «!C» → «ORA C»
  • «?C» → «CMP C»
  • «BC» → «MOV B,C»
  • «$B» → «LDAX B»
  • «$D» → «LDAX D»
  • «B$» → «STAX D»
  • «D$» → «LDAX D»
  • «H="HELLO, WORLD!\0"»
Но код транслятора стал раздуваться несоразмерно и тяжелее отлаживаться, потому отложил, чтобы отдохнуть, собраться с мыслями и вернуться к гибридно-байтовому варианту.


Тем не менее, представляю Вам свой вариант недо-среды недо-разработки (запуск по «G676»).
  • «1000-10FF» - справочный лист клавиши «F1»
  • «2000-2FFF» - листинг скрипта клавиши «F2»
  • «3000-75FF» - листинг скрипта клавиши «F3»
Как можно заметить, адреса «1100-1FFF» зарезервированы под классическую трансляцию.
Потому, текст основного буфера (справочного листа) не рекомендуется править!

Тем самым, под трансляцию кода доступны три региона:
  1. «0000-0675» - 1654 байта
  2. «1100-1FFF» - 3840 байтов
  3. «4000-74FF» - до 13568 байтов, в зависимости от размера скрипта #3
Естественно, загрузка/выгрузка буферов клавишами не предусмотрена, так как стремился достичь самого минимума, но достаточного для разработки.

P.S.: Это как бы первый пример практического применения редактора «ПобЭдит».
You do not have the required permissions to view the files attached to this post.
Last edited by Alikberov on 10 Jul 2025 07:49, edited 1 time in total.
imsushka
Maniac
Posts: 245
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

Re: Скрипты-86РК

Post by imsushka »

а зачем нужен псевдо ассемблер ?
может проще асм встроить ?