WikiDer > ToBoS-FP
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
ToBoS-FP компилятор с плавающей запятой для Sinclair BASIC на ZX Spectrum. Название означает Кпробег, Ежи БоРковски, Войцех Sкаба Fлюбящий пмазь. Компилятор был выпущен в Польша в 1986 г.[1]Компиляция исходного кода позволяет существенно (20+[2]) ускорение выполнения программ, которые обычно интерпретированный. Ускорение в основном связано с использованием собственного компилятора. арифметическая библиотека с плавающей запятой[3] и графическая библиотека, заменяющая встроенные процедуры ZX Spectrum. В независимом опросе 1992 года ToBoS-FP был назван самым популярным из всех известных компиляторов BASIC для ZX Spectrum.[4] Он до сих пор считается одним из лучших компиляторов BASIC для ZX Spectrum.[5]
Фон
ZX Spectrum на заводе оснащен редактором и интерпретатором Sinclair BASIC, которые позволяют немедленно выполнять программу без этапа компиляции и не занимают память для скомпилированного кода. Однако это происходит за счет скорости исполнения. С тех пор было выпущено несколько компиляторов с целыми числами и с плавающей запятой (например, HiSoft Basic [1], HiSoft Colt [2], Softek IS / FP [3], MCoder [4], Компилятор ZIP [5], Boriel ZX Basic [6], Взрыв [7]). К сожалению, Sinclair BASIC позволяет программировать конструкции, которые сложно или даже невозможно скомпилировать (например: ИДТИ К номер строки, который является выражением, вычисляемым во время выполнения). Таким образом, совместимость между интерпретатором и компилятором является проблемой.
Разработка
Компилятор был написан на Сборщик Z80. Есть два основных источника ускорения выполнения скомпилированного кода:
- Конвертация исходного кода в прямой многопоточный код который освобождает процессор от [многократного] преобразования инструкций BASIC в вызовы программ[6]
- Применение собственных критических по времени вызовов подпрограмм компилятора, особенно тех, которые имеют дело с арифметическими и графическими функциями с плавающей запятой
Чтобы добиться существенного ускорения, был применен более короткий формат чисел с плавающей запятой, близкий к одинарной точности. IEEE 754-1985, состоящий из 1-байтовой экспоненты и 3-байтовой дроби (с точностью до 7 десятичных знаков). Исходный Sinclair BASIC использует 1-байтовую экспоненту и 4-байтовую дробь.[7] Все арифметические процедуры с плавающей запятой были переписаны, включая основные операции, такие как сложение, умножение, деление и функции, такие как квадратный корень, логарифм, экспонента. Разработан уникальный алгоритм вычисления тригонометрических функций.[8] Также были написаны рисование линий, рисование окружностей и другие графические функции.
Релизы
Самая популярная версия ToBoS-FP (вер. 2.0) была выпущена на компакт-кассета в мае 1986 г. в Польше. После загрузки в память компилятор может быть вызван с помощью 53100 грн.. Более ранние нестабильные версии, присвоенные 1.0, 1.1, 1.2 и вызванные с помощью 53500 долларов США, были доступны в ограниченном количестве.
В июне 1987 года была выпущена улучшенная версия ToBoS-DYD (в соавторстве с Тадеушем Голонкой). Он был распространен на 5 1⁄4-дюймовая дискета и адаптирован для Элвро 800 Юниор клон ZX Spectrum. По сравнению с вер. 2.0, некоторые функции были дополнительно оптимизированы и добавлены расширения Elwro 800 Junior.[9]
Прием
Хотя в Польше было продано около 2000 копий ToBoS-FP, он распространился по всему миру в основном бесплатно. Поскольку он был выпущен, когда общий интерес к ZX Spectrum начал снижаться, для рынка он появился слишком поздно. ToBoS-FP завоевал наибольшую популярность в Польше и других странах. Восточноевропейский страны, в которых ZX Spectrum и его клоны широко использовались до середины 1990-х годов. Особо была оценена его способность ускорять игры, написанные на Sinclar BASIC.[10]
Рекомендации
- ^ Скаба, Войцех; Борковский, Ежи (сентябрь 1986 г.). "Польский компилятор на Спектруме [первый польский компилятор для Спектрума]". Байтек. RSW «Prasa-Ksika-Ruch», Młodzieowa Agencja Wydawnicza: 20. ISSN 0860-1674.
- ^ Скаба, Войцех; Борковский, Ежи (март 1987 г.). "Польский компилятор TOBOS-FP на Spectrum [Польский компилятор TOBOS-FP для Spectrum]". Компьютер. РМБ «Праса-Ксинька-Руч»: 28. ISSN 0860-2514.
- ^ Скаба, Войцех (1987). «ToBoS-FP Basic достигает скорости света». Польское машиностроение. Агентство внешней торговли и издательское дело AGPOL: 30. ISSN 0209-0260.
- ^ Болдачев, А.В .; Думов, И.Е; Елисеев, В.А. (1992). «Спектрум Бейсик - Компиляторы, работающие с вещественными числами: Softek FP, Tobos FP.». Диалекты бейсика для ZX Spectrum. Питер (ООО "Питер"). ISBN 5-7190-0001-1.
Компилятор Tobos FP (Tobos Floating Point) появился на свет в Польше в 1986 году и стал на сегодняшний день, пожалуй, наиболее популярным из всех известных бейсик-компиляторов для ZX Spectrum.
- ^ Чабик, Якуб (12 июня 2006 г.). "Код Средловы Леонарда да Винчи". Computerworld Polska. IDG Poland SA. ISSN 1429-012X.
- ^ Скаба, Войцех; Борковский, Ежи (август 1986). «Польский компилятор TOBOS F.P. [Польский компилятор TOBOS F.P.]». Электроник. ZSP Politechniki Wrocławskiej: 7. ISSN 0860-293X.
- ^ Викерс, Стивен (1982). «Глава 24». Sinclair ZX Spectrum BASIC программирование. Sinclair Research Ltd.
- ^ Скаба, Войцех (февраль 1988 г.). «Sinus, consinus, tangens». Микроклан. Wydawnictwo Czasopism i Książek Technicznych SIGMA: 23. ISSN 0860-1941.
- ^ Голонка, Тадеуш (апрель 1988 г.). «Тым разем без лутовцы [Теперь без паяльника]». Информик. Instytut Wydawniczy Nasza Księgarnia, Варшава: 8. ISSN 0860-5696.
- ^ Капульцевич, А .; Капульцевич, И .; Евдокимов, А. (1995). "Компиляция игровых программ". Как написать игру для ZX Spectrum. ПИТЕР, Санкт-Петербург, (ООО "Питер"). п. 132. ISBN 5-7190-0052-6.
Начинать знакомство с этим классом прикладных программ лучше всего с компилятора TOBOS FP. На сегодняшний день он, пожалуй, самый популярный, хотя это и не означает, что он самый лучший, самый быстродействующий, самый, самый, самый, самый быстродействующий, самый, самый ... Все дело в том, что он самы й простой в обращен ии и накладывает на исходную программу меньше всего ничьений.