Ассемблер 8080/8085/Z80 на JS

8-битные микроконтроллеры и микропроцессоры от Intel и их клоны, а также компьютеры на них построенные

Moderator: Shaos

User avatar
vital72
Maniac
Posts: 202
Joined: 17 Jun 2014 04:29
Location: 93.80.157.217

Ассемблер 8080/8085/Z80 на JS

Post by vital72 »

написал наконец-то я свой ассемблер, прежде, чем выкладывать на свой сайт, пока для тестов я его выложу на временный адрес -- https://assm.86rk.ru/
желающие могу потестировать/поискать баги, может даже какие то проекты собрать.
основное:
  • поддержка синтаксиса процессоров i8080 и Z80;
  • поддержка расширенного набора команд процессора i8085 и недокументированных команд Z80;
  • поддержка кодовых таблиц КОИ-7 Н0, КОИ-7 Н1, КОИ-7 Н2, КОИ8-Р;
  • полноценная поддержка арифметических выражений любой сложности;
  • директивы условной трансляции;
  • блочные директивы циклов;
  • макросы;
  • локальные метки и переменные;
  • однопроходный компилятор с поствычислением арифметических выражений.
краткая документация доступна по кнопке "ХЁЛП!"

что сейчас не реализовано:
  • редактор. используется кривой-косой браузереный на contenteditable, потому что надо было здесь и сейчас.
  • инструкция EX AF, AF' для Z80 -- именно так, со штрихом, но компилируется без штриха, разработчики Z80 подложили большую свинью, использовав в идентификаторе символ, который не может быть частью идентификатора.
в редакторе отсутствует нумерация строк, поэтому, если словили ошибку -- строку отсчитывайте сами :D
сейчас пишу редактор, в котором строки отображаются, но он ещё очень сырой/глючный, поэтому пока так, если очень надо -- прикручу, вместо браузерного.

что значат кодовые таблицы: в данных можно писать прям русским текстом и на выходе получить нужные коды:

Code: Select all

	db	"РАДИО-86РК", 0
скомпилируется в:

Code: Select all

      .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
0000: 72 61 64 69 6F 2D 38 36 72 6B 00                |РАДИО-86РК.     |
PS: на странице есть множество примеров, которые демонстрируют возможности компилятора и помогают в освоении.
https://radio-86rk.ru
кто я такой, чтобы спорить с самим собой
Alekcandr
Devil
Posts: 759
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: Ассемблер 8080/8085/Z80 на JS

Post by Alekcandr »

vital72 wrote: 04 Jul 2026 12:20 [*] инструкция EX AF, AF' для Z80 -- именно так, со штрихом, но компилируется без штриха, разработчики Z80 подложили большую свинью, использовав в идентификаторе символ, который не может быть частью идентификатора.
Есть такое дело :) Надо отдельно такое парсить в лексере.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
User avatar
vital72
Maniac
Posts: 202
Joined: 17 Jun 2014 04:29
Location: 93.80.157.217

Re: Ассемблер 8080/8085/Z80 на JS

Post by vital72 »

да, похоже так и придётся сделать, что то никаких других идей не приходит в голову...
https://radio-86rk.ru
кто я такой, чтобы спорить с самим собой