Форум

Пожалуйста или Регистрация для создания записей и тем.

Кросс-ассемблер "TASM D3-28 Assembler"

TASM брал с этого сайта: https://d3-28.ru/krossassembler-evm-d3-28/

В комплекте шла таблица для Д3-28: TASM328.TAB

По ней есть замечания:

1.Строки 25-40:

ANS S00,S* A4 2 NOP 1 00 00

...

предлагаю заменить на

ANS S00,S* A6 2 NOP 1 00 00

...

2.Строка 565:

SUB X,C* 41 1 NOP 1

предлагаю заменить на:

SUB X,C* 41 2 NOP 1

Также предлагается замена строк 457-460:

JMTT * AA 2 R1 1
JMTTF * AB 2 R1 1
JSTT * AD 2 R1 1
JSTF * AE 2 R1 1

на:

JMTT * AA 2 NOP 1
JMTF * AB 2 NOP 1
JSTT * AD 2 NOP 1
JSTF * AE 2 NOP 1

Не помешали бы пояснения к предлагаемым заменам: чем замены вызваны, и что улучшается после замен?

Со своей стороны я могу сказать  только, что не вникал в работу кроссассемблера, предложенного в проекте https://d3-28.ru/krossassembler-evm-d3-28/ , но проверил в имитаторе работу тест-программы OutFile.txt, выложенной там автором проекта, и увидел, что его версия теста не завершается должным образом. Значит, что-то в том проекте неверно.

(Исходный тест k3a_test-017__KP-5895_N-528.txt завершается индикацией Y=1, X=0. Согласно описанию теста в документации к Д3-28 это признак успешного выполнения теста. Но в результате работы теста OutFile.txt, полученного автором кроссассемблера, оба табло Y и X остаются погашенными.)

  1. По строкам 25-40: в "Справочнике программиста" для команды ANS указан код 1006 ($A6), а не $A4.
  2. По строке 565: команда SUB X,C* двухбайтовая  - принимает вторым байтом номер десятичной ячейки, что требует указание "... 2 NOP ..."
  3. По строкам 457-460: команды JxTx вторым байтом принимают индекс ячейки в таблице T или F, который не должен меняться. Следовательно, RULE должно быть NOP, а не R1.
Sinus отреагировал на эту запись.
Sinus

Спасибо.

А какую-нибудь новую программу для Д3-28 Вы не пробовали этим методом (кроссассемблером) создать?

(Прошу меня извинить за оффтоп в этой теме, просто интересно узнать Ваше мнение вообще о написании новых программ для Д3-28. В чём смысл такого занятия, когда и машин-то таких реально работающих уже почти ни у кого нет, и стариков, работавших на Д3-28 в молодости, а теперь ностальгирующих, почти нет? Малочисленность участников этого форума тому подтверждение. Вы, если не ошибаюсь, человек относительно молодой; интересно, что побудило Вас познакомиться с системой команд машины из почти полувекового прошлого, не популярной даже у коллекционеров.)

Цитата: Sinus от 27.03.2025, 02:35

А какую-нибудь новую программу для Д3-28 Вы не пробовали этим методом (кроссассемблером) создать?

Да, парочку, развлечения ради. Нормально.

(Прошу меня извинить за оффтоп в этой теме, просто интересно узнать Ваше мнение вообще о написании новых программ для Д3-28. В чём смысл такого занятия, когда и машин-то таких реально работающих уже почти ни у кого нет, и стариков, работавших на Д3-28 в молодости, а теперь ностальгирующих, почти нет?

Старикам поностальгировать 🙂 Другого применения не вижу.

Для личного пользования предпочитаю эмуляторы "Электроники МК-61" под Android и HTML-файл для браузера. Иногда накидываю там программки.

Вы, если не ошибаюсь, человек относительно молодой; интересно, что побудило Вас познакомиться с системой команд машины из почти полувекового прошлого, не популярной даже у коллекционеров.)

Мне 53 года. Когда в 9 классе проходили производственную практику, в лаборатории была Д3-28. До программирования у нас дело не дошло, на информатике изучали Pascal и ЕС ЭВМ. На Д3-28 мы вводили данные физических экспериментов в программу на Бейсике и играли в "Королевство Эйфорию".

Ясно. Спасибо большое за такие подробные ответы.