|
Многие думают, что хорошую быстродействующую программу на 8-ми разрядной машине можно написать только в кодах процессора. Чаще всего так и делается, но как же быть если в программе должны производиться сложные вычисления, ведь проце- ссор может только складывать и вычитать небольшие целые числа, а обращение к программе-кальку- лятору в ПЗУ сопряжено с такими сложными подготовительными про- цедурами и различными нюансами, что может запутать и опытного программиста . В такой ситуации может помочь компилятор. Скорость выполнения скомпилиро- ванной программы, конечно, уступает скорости с которой работает программа написанная непосредственно в машинных кодах , но зато не возникает проблем с вычислениями и освоением особенностей ассемблера, ведь создание алгоритма программы на языке высокого уровня (BASIC'е например) гораздо проще. А о том каких можно достичь результатов говорит то, что даже многие фирменные программы представляют собой компиляции с языков высокого уровня. Мы были немало удивлены, обнаружив, что игра STACK UP фирмы ZEPPELIN GAMES, выпущенная в 1991 году, была написана почти полностью на BASIC'е и скомпилирована первобытным компилятором MCODER II 1982 года выпуска. Чтобы было понятно о чем идет речь - этот компилятор не понимает половины команд BASIC'а (их надо избегать в программе) и работает только с целыми числами от -З2768 до +З2768. Правда, ускорение он дает весьма значительное. Другой компилятор фирмы CRYSTAL COMPUTING выпуска 198З года понимает те команды, которые недоступны MCODER'у но отказывается компилировать другие. Дальнейшие поиски привели нас к программе TOBOS FP COMPILER и ее исследование показало, что это именно то, что нам было нужно(а нужно нам было ускорить выполнение программы, строящей на экране З-мерные графикифункций). Компилятор понимает ВСЕ команды и операторы SPECTRUM-BASIC'а и работает с любыми числами, которые доступны BASIC'у, включая экспоненциальное пред- ставление и плавающую запятую. Программа BIORITM, целиком написанная на BASIC'е строит графики биоритмов примерно 20-25 секунд, а будучи скомпилирован- ной TOBOS'ом делает это за 1-2 секунды. Построение З-мерного векторного графика, занимавшее около 10 минут (!), сокращается до 0.5 минуты. Сам компилятор занимает около 12К и должен быть в памяти - без него скомпилированный код работать не будет. Впрочем, это относится ко всем упомянутым компиляторам. Главным ограниче- нием является невозможность обработки команд обращения к TR-DOS, так как в стандартном BASIC'е эти команды не были предусмотрены. Компилятор TOBOS располагается в памяти с адреса 5З100. Скомпилированный код размещается начиная с адреса RAMTOP, который устанавливается командой CLEAR NN. Запускается TOBOS командой RANDOMIZE USR 53100. Есть масса полезных самодельных программ на BASIC'е и TOBOS может стать мощным инструментом доведения их до фирменного вида. ___ ___
Other articles:
|
|
|
|
|
|
Similar articles:
В этот день... 23 November