Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Moderator: Shaos
-
pyzhman
- Fanat
- Posts: 56
- Joined: 28 Oct 2025 23:21
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Благодарю за подсказку. Я пользуюсь Ctrl + колесо мыши.
-------------------------------
Ещё вопрос - как организовать инклуды?
-------------------------------
Ещё вопрос - как организовать инклуды?
Специалист "Линёвский" схема от Fifan'а, восьмицвет, AY-3-8910, прерывания, адаптер PS/2 клавиатуры и контроллер SD карты от Vinxru.
-
begoon
- Maniac
- Posts: 307
- 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: 56
- 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.
Специалист "Линёвский" схема от Fifan'а, восьмицвет, AY-3-8910, прерывания, адаптер PS/2 клавиатуры и контроллер SD карты от Vinxru.
-
begoon
- Maniac
- Posts: 307
- 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: 56
- Joined: 28 Oct 2025 23:21
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
При сохранении файла (download) на диск уходит только тот, который указан в File:. Остальные остаются не сохраненными. Очень неудобно. Если есть возможность, то сделайте, пожалуйста, так, чтобы сохранялись все файлы.
Специалист "Линёвский" схема от Fifan'а, восьмицвет, AY-3-8910, прерывания, адаптер PS/2 клавиатуры и контроллер SD карты от Vinxru.
-
begoon
- Maniac
- Posts: 307
- 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: 56
- Joined: 28 Oct 2025 23:21
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Благодарю! Работает замечательно!
Специалист "Линёвский" схема от Fifan'а, восьмицвет, AY-3-8910, прерывания, адаптер PS/2 клавиатуры и контроллер SD карты от Vinxru.
-
begoon
- Maniac
- Posts: 307
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Обновил описание в головном посте, ибо многие фичи либо были неизвестны вообще, либо недокументированы.
-
pyzhman
- Fanat
- Posts: 56
- Joined: 28 Oct 2025 23:21
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Здравствуйте!
У меня более 10-ти файлов в проекте. А по кнопке download as .asm сохраняется только 10. Если есть возможность, то увеличьте, пожалуйста, количество сохраняемых файлов. Возможно, что-то вроде проекта организовать? Чтобы всё разом загружать/выгружать.
upd. Сейчас проверил - сохранились все 14.
У меня более 10-ти файлов в проекте. А по кнопке download as .asm сохраняется только 10. Если есть возможность, то увеличьте, пожалуйста, количество сохраняемых файлов. Возможно, что-то вроде проекта организовать? Чтобы всё разом загружать/выгружать.
upd. Сейчас проверил - сохранились все 14.
Специалист "Линёвский" схема от Fifan'а, восьмицвет, AY-3-8910, прерывания, адаптер PS/2 клавиатуры и контроллер SD карты от Vinxru.
-
begoon
- Maniac
- Posts: 307
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
то есть 10 - не предел?
на тему проекта - надо подумать, ибо уже надо не просто проект поддержать, а проектЫ
на тему проекта - надо подумать, ибо уже надо не просто проект поддержать, а проектЫ
-
pyzhman
- Fanat
- Posts: 56
- Joined: 28 Oct 2025 23:21
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Сейчас проверил - опять сохраняет только 10.
Специалист "Линёвский" схема от Fifan'а, восьмицвет, AY-3-8910, прерывания, адаптер PS/2 клавиатуры и контроллер SD карты от Vinxru.
-
begoon
- Maniac
- Posts: 307
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
При сохранении скачиваются основной файл и все вкладки, связанные с ним через include, включая вложенные подключения. Ограничения на количество файлов в коде нет. Вкладки, не связанные с основным файлом, не сохраняются.
-
pyzhman
- Fanat
- Posts: 56
- Joined: 28 Oct 2025 23:21
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
И снова доброго!
Поддерживается ли двоичная система счисления? Например, mvi a, 011b.
Поддерживается ли двоичная система счисления? Например, mvi a, 011b.
Специалист "Линёвский" схема от Fifan'а, восьмицвет, AY-3-8910, прерывания, адаптер PS/2 клавиатуры и контроллер SD карты от Vinxru.
-
begoon
- Maniac
- Posts: 307
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Добавил двоичные числа с суффиксом b или B.
Двоичные числа можно использовать и в выражениях. Обновление в онлайн-ассемблере.
Code: Select all
mvi a,011b ; A = 3
ani 11110000b ; маска F0h
db 10101010B ; байт AAh
Last edited by begoon on 31 Oct 2026 10:50, edited 1 time in total.
-
pyzhman
- Fanat
- Posts: 56
- Joined: 28 Oct 2025 23:21
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Спасибо, работает отлично.
Специалист "Линёвский" схема от Fifan'а, восьмицвет, AY-3-8910, прерывания, адаптер PS/2 клавиатуры и контроллер SD карты от Vinxru.
