User Tag List

Показано с 1 по 10 из 54

Тема: Почему Спектрум-бейсик такой медленный?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от mmxdmv Посмотреть сообщение
    В любом случае разработчики специально замедлили бейсик минимум в 20-30 раз.
    Нет. Программа на Spectrum BASIC ничего общего с пи-кодом не имеет. Читаем дизассемблер ПЗУ и ищем ответы на вопросы.

    Цитата Сообщение от mmxdmv Посмотреть сообщение
    В общем, моё мнение, что если бы в структуру строк бейсика добавить дополнительные штуки (как то переход по адресу строки - кроме номера строки хранить её адрес, длину параметров операторов - чтобы живее их на стек запихивать, адреса переменных и т.п.), то вполне можно получить пи-код, который бы интерпретировался по 200-500 тактов на команду (без учёта времени исполнения самой команды).
    Практика показывает, что из этого применимо только первое - адреса строк вместо длин.
    ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    06.02.2017
    Адрес
    г. Тольятти
    Сообщений
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Нет. Программа на Spectrum BASIC ничего общего с пи-кодом не имеет. Читаем дизассемблер ПЗУ и ищем ответы на вопросы.
    Я знаю что ПЗУ спектрума не предназначено для пи-кода.
    Просто почему вы так категоричны что бейсик ничего общего с пи-кодом не имеет?
    Все команды - токенизированы в коды, все числа - переведены в удобоваримую форму... очень похоже на пи-код.

    Ну или по-другому сформулирую свою мысль.
    Вполне можно было бы сделать такой пи-код, который сравнительно просто поддавался редактированию (как 128 бейсик переводит обратно токены в буковки, а 5 байтное представление цифр скрывается даже в 48), но в то же время исполняется почти со скоростью компилятора (100-200-300 тактов для перехода к следующей команде).
    Т.е. интерпретация языка свелась бы к закидыванию чисел на стек калькулятора и косвенного вызова процедуры соответствующей токену...

  4. #3

    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    931
    Спасибо Благодарностей отдано 
    243
    Спасибо Благодарностей получено 
    167
    Поблагодарили
    81 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от mmxdmv Посмотреть сообщение
    Просто почему вы так категоричны что бейсик ничего общего с пи-кодом не имеет?
    Потому, что так и есть. А еще в программе могут быть ошибки, которые интерпретатор тоже вынужден отлавливать в процессе выполнения.

  5. #4

    Регистрация
    06.02.2017
    Адрес
    г. Тольятти
    Сообщений
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Xrust Посмотреть сообщение
    А еще в программе могут быть ошибки, которые интерпретатор тоже вынужден отлавливать в процессе выполнения.
    А вот нифига.
    Ошибки бывают двух видов - ошибка синтаксиса и ошибки выполнения.
    Синтаксис прекрасно встроенный редактор правит, а вот ошибки выполнения вынужден и компилятор проверять.
    Вернее даже не компилятор проверяет, а сами процедуры в ПЗУ (Например если рисовать дугу DRAW так, чтобы загогулина вышла за конец экрана, то получим ошибку даже в компиляторе)
    Т.е. мы не ведём речь про злостного хакера, который сделал сотни poke и у него бейсик-программа стала мутантом которую принципиально нельзя с клавиатуры ввести.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 100
    Последнее: 23.11.2022, 16:01
  2. Руссифицированный бейсик
    от Den1982 в разделе Программирование
    Ответов: 17
    Последнее: 23.02.2022, 22:58
  3. Схема ZX-Спектрум совместимого компьютера "Бейсик"
    от Gryphon в разделе Несортированное железо
    Ответов: 9
    Последнее: 07.08.2021, 08:37
  4. Ответов: 26
    Последнее: 23.07.2016, 01:38

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •