Скрипты-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

Re: Скрипты-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"»
Но код транслятора стал раздуваться несоразмерно и тяжелее отлаживаться, потому отложил, чтобы отдохнуть, собраться с мыслями и вернуться к гибридно-байтовому варианту.