Здравствуйте, blackmirror!
Я не совсем понимаю смысл вопроса.
Буду отвечать по частям.
Эффективна ли реализация эмуляции ЛЮБОГО языка высокого уровня на ассемблере? Да!
Можно ли на Ассемблере реализовать более эффективно алгоритм? Да!
Отвлечёмся...
Насколько я знаю, для Атари эффективно НЕ реализован ни один Си-подобный язык.
Те, два, которые претендуют на ANSI C и на К&R С (1-издание), а именно CC65 и CC8 либо неприемлемо медленны (СС65 называют улиткой из рода черепах), либо недостаточно наварочены. Всё упирается в 8-bit и 1,79 MHz.
Лично мне милее CC8... Я на нём даже написал библиотеку работы с кучей(HEAP) и небезызвестный Гуру FJC написал мне, что даже и не слышал о таком языке и думал, что структуры реализованы только в CC65.
Знаю также то, что современные проекты для Атари пишутся на Ассемблере (ну, на кросс-ассемблерах)...
Я-то люлю писать на Атари всё, что для Атари... (Ну, может коды на ПиСи, а Ассемб/Компи-лирую на железе)
И вообще, мой любимый язык для Атари - это PL65. (раньше был Interlisp65)
Что касается алгоритма, то все проверки на несоответствие старых и новых значений в нём реализованы.
Обновление данных для чтения - тоже. Кроме этого, самая сугубая фишка данного кода - LUT.
То-есть использование заранее заданных таблиц, вместо вычислений. Перенёс данные за 1/2 такта и ответ в кармане.
А то, что на Си можно написать короткий код, мы понимаем.
А длина машкода этого кода, увы зависит от реализации ЯВУ. А здесь нет данных, кроме дезассемблирования.
Ассемблер - это всего лишь машкоды!
Не обессудьте, если я чего не понял. Потому как в начале признался...
zen




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
