Это всего два полных вычисления. Зато потом можно хоть тысячи сэмплов гнать, тратя на каждый всего по: 1умножение+1сложение.
Вид для печати
В тестовом режиме запустил обновление Прекрасма https://caglrc.cc/pretty-testing
Многие нововведения показаны в Главрыбе (первая в рыбном меню).
* в проекте много буферов, их можно .include один в другой. Быстрое переключение между табами Alt+1,2.. (На Линуксе Ctrl, на Маке Cmd)
* проект надежно хранится в localStorage. выгружается архивом zip, загружается обратно
* добавлен препроцессор, кроме #ifdef... можно даже делать макросы с параметрами. Ограничение -- они должны быть в одну строку
* в текстовом редакторе добавлен режим vim и раскраски (см. шаверма-меню слева от табов) - для быстрого перебора тем правый клик выбирает пункты без закрытия меню
* запуск эмулятора по хоткеям Ctrl+Alt+B (Cmd+Opt+B/C на Маке). Закрывается обратно по тому же сочетанию. Можно больше вообще руки с клавиатуры не поднимать.
* добавлена загрузка в эмулятор через вав (иконка с кассетой внизу)
* улучшены сообщения об ошибках. сверху показывается индикатор количества ошибок, клик проматывает редактор к следующей ошибке.
* исправлены мелкие глюки
Фанаты РК, Микроши, Апогея, Специалиста, Партнера теперь могут ликовать, запуская свои программы прямо в Прекрасме. Это стало возможным, благодаря встроенному emu80. Огромное спасибо Pyk за эмулятор и титанические усилия по интеграции!
На подходе еще платформы.
Добавлен Микро-80.
Чтобы любители Бейсика не чувствовали себя обделенными, я убрал фактически искусственное ограничение на запуск Бейсиковских программ из Прекрасма.
https://caglrc.cc/pretty-testing/?ht...91/basic-0.bas
RUN запускает, все как у больших. Тут конечно совсем все непроверенное, но как-то фурычит. Можно даже любоваться на токены прямо в желобе. Переключение в режим Бейска происходит по расширению буфера, если .bas или .asc -- то Бейсик.
Появился повод добавить несколько красивых рыб на Бейсике.
https://caglrc.cc/pretty-testing/?basic-rybov
так уж получилось, что в Бейсике работает препроцессор и .include
Для Вектора появился отладчик. Для удобного использования окно эмулятора надо задочить кнопкой на тулбаре со стрелкой вправо. Брекпойнты можно ставить, кликая на адрес в желобе. Память и регистры редактируются инплейс. Изменения в памяти не будут отображаться в листинге, но в окне дизассемблера будут. В нем всегда видно актуальный код, даже для тех адресов, которых нет в редакторе.
Если нужно поставить точку останова куда-нибудь за пределы исходного кода, можно ввести адрес в окне дизассемблера и кликнуть слева от нужной инструкции.
Хозяйке на заметку.
Софтовые реализации умножения Бута не пользуются популярностью на 8-битках, т.к. на большинстве ретропроцов уступают классическим процедурам через беззнаковое умножение с обрамлением учета знаков. Но 8085 благодаря команде ARHL позволяет эффективно реализовать знаковое умножение 8x8 по алгоритму Бута. В эмуляторе 6128 получилось на 7% быстрее, чем через беззнаковое умножение (самая быстрая нетабличная процедура) с обрамлением.
- - - Добавлено - - -
А если еще задействовать команду DSUB, то просто фантастика - на 12% быстрее, чем знаковое через беззнаковое (догоняет по скорости просто беззнаковое умножение!) и пара DE свободна. Получается на 8085 можно сделать по этому алгоритму даже знаковое умножение 8x16 или 16x8.
Завтра выложу, вчера долго тупил, но к вечеру сделал нормальный вариант 16x16. Еще одно замечательное свойство - при побайтном увеличении разрядности второго множителя сложность и время работы процедуры будут расти практически линейно, можно сделать хоть 16x64. У традиционного умножения разрядность сумматора = разрядности произведения, а тут = разрядности первого множителя. К большому сожалению не вижу как это можно эффективно реализовать на 8080 и 580ВМ1, но для 8085 и z80 это замечательный алгоритм.
Знаковое умножение Бута 16x16 для 8085. Мнемоники 8085 не используются, вместо них .db, что расширяет круг совместимых ассемблеров. Можно еще добавить ускоренную обработку байтов 00 и FF во втором множителе.
Для 8080 изобрел велосипед (плохо гуглил, 100% такой вариант должны были где-то описать) - беззнаковое умножение Бута с левыми сдвигами. К сожалению толку нет (пробовал 8x8 и 8x16) - медленнее традиционных процедур, больше размер и регистров использует больше, сплошные недостатки.
Спасибо, удобный инструмент для тестирования программ.
Только почему набранный латиницей текст внутри PRINT переводит в кириллицу?
КОИ-7 Н2 получается.
svofski, подскажите пожалуйста, есть ли планы добавления в https://caglrc.cc/pretty-testing/ других Бейсиков, кроме уже имеющегося для «Вектор-06Ц»?
Нет. Этот было добавить просто, я скорее убрал искусственные препятствия для его работы. Вот что можно сделать, так это обновить встроенный Бейсик на версию поновее, но я не знаю какая правильная.
Кстати, все уже работает по главной ссылке https://svofski.github.io/pretty-8080-assembler/
Насколько разобрался, вот эта версия на данный момент крайняя — https://caglrc.cc/scalar/ware/940/ — и по той же ссылке обновляется.
Возможно ли добавление в качестве альтернативной, без замены базовой версии Бейсика?