Благодарю за подсказку. Я пользуюсь Ctrl + колесо мыши.
-------------------------------
Ещё вопрос - как организовать инклуды?
Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Moderator: Shaos
-
pyzhman
- Fanat
- Posts: 51
- Joined: 28 Oct 2025 23:21
-
begoon
- Maniac
- Posts: 302
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Добавил веб-версии ассемблера поддержку include.
Раньше подключение файлов работало только в командной строке asm8 (asm8080), теперь можно подключать исходники из других открытых вкладок по имени:
Ассемблер возьмёт текущее содержимое вкладки defs.asm. Имя должно совпадать точно, включая регистр.
Поддерживаются вложенные включения и проверка циклических зависимостей. Ошибки показывают имя файла и номер строки.
Для сборки и запуска нужно выбрать вкладку с основной программой. В подключаемых файлах не следует ставить "end", ибо эта директива завершает сборку всей программы.
Раньше подключение файлов работало только в командной строке asm8 (asm8080), теперь можно подключать исходники из других открытых вкладок по имени:
Code: Select all
include "defs.asm"Поддерживаются вложенные включения и проверка циклических зависимостей. Ошибки показывают имя файла и номер строки.
Для сборки и запуска нужно выбрать вкладку с основной программой. В подключаемых файлах не следует ставить "end", ибо эта директива завершает сборку всей программы.
-
pyzhman
- Fanat
- Posts: 51
- Joined: 28 Oct 2025 23:21
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Спасибо!
Включает и транслирует. Но вот такая засада: ошибка по отсутствию org и отсутствие машкодов.
Включает и транслирует. Но вот такая засада: ошибка по отсутствию org и отсутствие машкодов.
You do not have the required permissions to view the files attached to this post.
-
begoon
- Maniac
- Posts: 302
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Причина была в том, что при переключении на вкладку test.asm ассемблер начинал транслировать этот файл отдельно. А директива org и определения символов находились в основном файле welle.asm, поэтому появлялись ошибки.
Я добавил селектор Main, который позволяет выбрать основной файл независимо от открытой вкладки:
1. В Main выбираем welle.asm.
2. Переключаемся на test.asm и редактируем его.
3. При каждом изменении заново транслируется welle.asm, включая текущее содержимое test.asm.
Слева от текста test.asm отображаются адреса и машинные коды в контексте всей программы. Запуск, загрузка в эмулятор и скачивание бинарного файла используют результат сборки основной программы. Скачивание .asm по-прежнему сохраняет файл текущей вкладки.
Выбор основного файла сохраняется после перезагрузки страницы. Пункт "active tab" возвращает прежнее поведение - трансляцию текущей вкладки.
Я добавил селектор Main, который позволяет выбрать основной файл независимо от открытой вкладки:
1. В Main выбираем welle.asm.
2. Переключаемся на test.asm и редактируем его.
3. При каждом изменении заново транслируется welle.asm, включая текущее содержимое test.asm.
Слева от текста test.asm отображаются адреса и машинные коды в контексте всей программы. Запуск, загрузка в эмулятор и скачивание бинарного файла используют результат сборки основной программы. Скачивание .asm по-прежнему сохраняет файл текущей вкладки.
Выбор основного файла сохраняется после перезагрузки страницы. Пункт "active tab" возвращает прежнее поведение - трансляцию текущей вкладки.
-
pyzhman
- Fanat
- Posts: 51
- Joined: 28 Oct 2025 23:21
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
При сохранении файла (download) на диск уходит только тот, который указан в File:. Остальные остаются не сохраненными. Очень неудобно. Если есть возможность, то сделайте, пожалуйста, так, чтобы сохранялись все файлы.
-
begoon
- Maniac
- Posts: 302
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Исправил.
Теперь при нажатии download в формате asm сохраняется не только файл из поля File:, а весь набор исходников.
Логика такая: берётся главный файл (тот, что выбран в селекторе Main, или активная вкладка, если выбран «active tab»), из него по цепочке include / .include собираются все вкладки, до которых можно дойти, и для каждой из них запускается отдельное скачивание. Каждый файл сохраняется один раз, даже если он подключается несколько раз или образует цикл. Имена вкладок сопоставляются точно так же, как при ассемблировании. Если какой-то include не найден или имя неоднозначно, он просто пропускается, об ошибке в любом случае сообщит ассемблер.
Браузер при первом таком скачивании может спросить разрешение на загрузку нескольких файлов с сайта, его нужно подтвердить.
Бинарные форматы (bin, rk, rkr, rks, pki, gam) работают как раньше.
Теперь при нажатии download в формате asm сохраняется не только файл из поля File:, а весь набор исходников.
Логика такая: берётся главный файл (тот, что выбран в селекторе Main, или активная вкладка, если выбран «active tab»), из него по цепочке include / .include собираются все вкладки, до которых можно дойти, и для каждой из них запускается отдельное скачивание. Каждый файл сохраняется один раз, даже если он подключается несколько раз или образует цикл. Имена вкладок сопоставляются точно так же, как при ассемблировании. Если какой-то include не найден или имя неоднозначно, он просто пропускается, об ошибке в любом случае сообщит ассемблер.
Браузер при первом таком скачивании может спросить разрешение на загрузку нескольких файлов с сайта, его нужно подтвердить.
Бинарные форматы (bin, rk, rkr, rks, pki, gam) работают как раньше.
-
pyzhman
- Fanat
- Posts: 51
- Joined: 28 Oct 2025 23:21
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Благодарю! Работает замечательно!
-
begoon
- Maniac
- Posts: 302
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Обновил описание в головном посте, ибо многие фичи либо были неизвестны вообще, либо недокументированы.
