Нет. Программа на Spectrum BASIC ничего общего с пи-кодом не имеет. Читаем дизассемблер ПЗУ и ищем ответы на вопросы.
Практика показывает, что из этого применимо только первое - адреса строк вместо длин.
Нет. Программа на Spectrum BASIC ничего общего с пи-кодом не имеет. Читаем дизассемблер ПЗУ и ищем ответы на вопросы.
Практика показывает, что из этого применимо только первое - адреса строк вместо длин.
ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Я знаю что ПЗУ спектрума не предназначено для пи-кода.
Просто почему вы так категоричны что бейсик ничего общего с пи-кодом не имеет?
Все команды - токенизированы в коды, все числа - переведены в удобоваримую форму... очень похоже на пи-код.
Ну или по-другому сформулирую свою мысль.
Вполне можно было бы сделать такой пи-код, который сравнительно просто поддавался редактированию (как 128 бейсик переводит обратно токены в буковки, а 5 байтное представление цифр скрывается даже в 48), но в то же время исполняется почти со скоростью компилятора (100-200-300 тактов для перехода к следующей команде).
Т.е. интерпретация языка свелась бы к закидыванию чисел на стек калькулятора и косвенного вызова процедуры соответствующей токену...
А вот нифига.
Ошибки бывают двух видов - ошибка синтаксиса и ошибки выполнения.
Синтаксис прекрасно встроенный редактор правит, а вот ошибки выполнения вынужден и компилятор проверять.
Вернее даже не компилятор проверяет, а сами процедуры в ПЗУ (Например если рисовать дугу DRAW так, чтобы загогулина вышла за конец экрана, то получим ошибку даже в компиляторе)
Т.е. мы не ведём речь про злостного хакера, который сделал сотни poke и у него бейсик-программа стала мутантом которую принципиально нельзя с клавиатуры ввести.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)