ZXNet эхоконференция «code.zx»


тема: если на то пошло



от: Valery Grigoriev
кому: All
дата: 20 Nov 2005
Hello, All

то указанные способы подразумевают "взаимодействие" программы загруженной и
парсера, работающего в ПЗУ. посмотрите на
http://zxdocs.fatal.ru/coding/module.zip - там уже очень замечательно решён
этот вопрос, в принципе с небольшими модификациями можно этот же метод считать
оптимальным.

Вообще, моё глубокое убеждение состоит в том, что глупо реализовывать парсинг
вызова в ходе работы самой программы - при загрузке программы всё равно
тратится ОЧЕHЬ много процессорного времени и препроцессинг тела программы
незначительно увеличит это время (загрузка одного сектора в 256 байт длится
около 20-30 тысяч тактов, а среднестатистическая программа-утилита занимает
секторов 5-6, игрушки и демки в разы больше; процесс настройки прямых вызовов
рутин из ПЗУ жрёт качественно меньше тактов - скорей всего уложится в одно
прерывание), однако отсутствие парсера в процессе ВЫПОЛHЕHИЯ программы приведёт
просто к качественному ускорению РАБОТЫ кода.

Hапример, взять программы умножения двух однобайтовых чисел. Сама программа
занимает около 500 тактов. А парсер 200. Получается что из всего времени
выполнения тратится около 40% времени на определение адреса п/п вызова???? И
это каждый вызов!!! Именно поэтому все фирменные игрушки пользовали либо прямые
вызовы ПЗУ (напрямую Call <ПЗУ>) либо вообще свои собственные программы,
которые точно известно где находятся.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
А знаете ли вы - Пароли, вечное время и бомбы в игре Last Courier. Пароли к игре: X-Reversy; и музыкалкам: Branch of Mind demo, Diesirae demo. Скрытые части в Faultless 2, 3, 4, 5, 8 (пароли)...
Interface - Riskej/OCA interview.
Сетевые новости - Новая внутренняя эхо-конференция - SPB.CODE
Интервью - Зеркало - успешен ли проект?
Бук - Лабиринт Отражений.

В этот день...   5 мая