Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт мар 19, 2024 14:19

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 170 ]  На страницу 1, 2, 3, 4, 5 ... 12  След.
Автор Сообщение
 Заголовок сообщения: Kolibri
СообщениеДобавлено: Сб апр 12, 2008 20:33 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
http://fpauk.narod.ru/fkolibri.rar -- компиляция части Колибри с фортом в ядре с помощью СПФ
в fkolibri\devel\~mak\kolibri\kernel.f исходики Колибри в неком временом представлении.
Пока демонстрируется принципиальная возможность.

http://fpauk.narod.ru/k_svn.700_src_f.rar -- компиляция того-же с помощью ФАСМ

http://fpauk.narod.ru/kbochs.rar -- эмулятор ПС с образом дискеты с системой.

В sys\DRIVERS\autoexec.f загружается оставшаяся чать колибри и запускается словом KOLRUN.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 13, 2008 15:51 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
И что оно может -чем принципиально отличается?

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 14, 2008 08:18 
При компиляции не находим rom.f

P.S. А Форт консоль, при этой сборке, будет?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 14, 2008 11:53 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Гость писал(а):
При компиляции не находим rom.f


Сори,
Файл - fkolibri\devel\~mak\kolibri\rom.f
содержит только S" ~MAK\kolibri\kernel.f" INCLUDED

вопрос писал(а):
И что оно может -чем принципиально отличается?


При компиляции генерится файл KWORDS.F
После интерпретации его в системе, все процедуры базовой части Колибри становятся доступны
для вызова из Форта по имени. Естественно, для вызова процедур принимающих параметры из регистров
или из стека возвратов, требуется соответствующая инициализация параметров.

ЗЫ: ФАСМ не умеет генерить мап-файл. Эквивалентом KWORDS.F мог-бы служить мап-файл.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 14, 2008 17:15 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Mihail, если возможно и нетрудно, может сделаешь (как ты раньше уже делал) файл kolibri.img.
Сразу чтобы хотя-бы посмотреть возможности форта когда он в ядре Колибри-ОС. А документация по системным функциям там вроде приличная, дальше можно самостоятельно разобраться.
Я так понял, что раньше форт в Колибри был просто приложением, или нет(я файл http://fpauk.narod.ru/kolforimg.rar тут имею ввиду)?

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 14, 2008 18:57 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
chess писал(а):
Mihail, если возможно и нетрудно, может сделаешь (как ты раньше уже делал) файл kolibri.img


В http://fpauk.narod.ru/kbochs1.rar KBOCHS\k_svn\kolibrid.img
Сразу хотел так сделать, да забыл. Без него вообще смысла нет.

chess писал(а):
Я так понял, что раньше форт в Колибри был просто приложением


И сейчас, там есть Форт в виде приложения. http://fpauk.narod.ru/kolspforth11.rar
Был Форт в виде драйвера. Сейчас просто форт в ядре.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 15, 2008 11:44 
Mihail писал(а):
ЗЫ: ФАСМ не умеет генерить мап-файл. Эквивалентом KWORDS.F мог-бы служить мап-файл.


? Насколько полно под spf в данном проекте поддерживается совместимость с fasm?

P.S. И как, колибристроители, одобрили внедрение Форта в ядро?
или они об этом варианте еще не информированы или им все равно?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 15, 2008 12:53 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Гость писал(а):
Насколько полно под spf в данном проекте поддерживается совместимость с fasm?


В fkolibri.rar я просто компилирую СПФом результат дизассемблирования модуля, который
был создан в k_svn.700_src_f.rar с помощью ФАС. Причем, воспринимается не мнемоническая часть
дисассеблированного кода, а HEX данные прилагаемые к коду. Я только повставлял команду Code
для представления меток в виде словарных статей.

Гость писал(а):
И как, колибристроители, одобрили внедрение Форта в ядро?


Вариант без KWORDS.F я им представил, но преимущество Форта именно в доступе ко всем
процедурам (ресурсам) системы.


Гость писал(а):
они об этом варианте еще не информированы или им все равно?


Думаю пока рано им представлять. Код пока генерится без разрешения ссылок т.е.
практически невозможно модифицировать. Думаю сделать 2-х проходность
для разрешения ссылок вперед. Затем постепенно можно заменять результат
дизассемблирования на наглядное представление программы.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 15, 2008 13:27 
Mihail писал(а):
Затем постепенно можно заменять результат
дизассемблирования на наглядное представление программы.


Ядро в виде Форт программы?
c адаптацией правил оптимизации генерации ассемблерного кода требуемого качества?
или, что то другое?

P.S. Просматривались ли исходники на используемое подмножество ассемблерных команд PC в kolibri?
и как оно отличается от используемых команд макро-оптимизатора?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 15, 2008 13:31 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Mihail писал(а):
Вариант без KWORDS.F я им представил, но преимущество Форта именно в доступе ко всем
процедурам (ресурсам) системы.

Только это не эксклюзивное свойство Форта, так что люди могут и не проникнуться.
Mihail писал(а):
Думаю сделать 2-х проходность для разрешения ссылок вперед.

При объявлении ссылки вперед резервируется место в коде и запоминается адрес, с которого еще не сделан переход, и название/номер метки. При ее появлении адрес или смещение вписывается во все места, запомненные ранее. Если в таблице неразрешенных ссылок остались элементы, генерируется ошибка.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 15, 2008 14:28 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Хищник писал(а):
...
При объявлении ссылки вперед резервируется место в коде и запоминается адрес, с которого еще не сделан переход, и название/номер метки. При ее появлении адрес или смещение вписывается во все места, запомненные ранее. Если в таблице неразрешенных ссылок остались элементы, генерируется ошибка.


Так, примерно у меня и было, когда делал GOTO в spf ( исходники адаптировал от MPE) в топиках форума можно найти:)
Правда решение было громоздкое и отключался оптимизатор spf.
( у ~profit-а в либах, вроде, должны быть более корректные решения обхода
заморочек с оптимизатором? )
У ~chess, в его асме использовалось более легковесное решение.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 15, 2008 18:38 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Mihail писал(а):
В http://fpauk.narod.ru/kbochs1.rar KBOCHS\k_svn\kolibrid.img

Mihail, спасибо.
Я так понял, что NOTFOUND ты из транслятора убрал. Почему?

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср апр 16, 2008 14:07 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Гость писал(а):
Ядро в виде Форт программы?


На первом этапе в виде Форт-примитивов. Проста для всех процедур
(из которых Колибри состоит) создается словарные статьи (словарь отделен от кода).
За тем можно поменять дисциплину передачу параметров (через стек).
Полноценные форт-примитивы (процедуры с передачей параметров через стек)
можно заменять на высокоуровневые форт-определения.
Т.е. можно скрестить с
http://www.openbios.org/viewvc/?root=OpenFirmware
http://www.cvs.cx/uCForth.php
http://fpauk.narod.ru/protoos_.rar

Гость писал(а):
c адаптацией правил оптимизации генерации ассемблерного кода требуемого качества?


Пока об эффективности думать рановато. Вообще, для критических по быстродействию
мест можно добавить правила к оптимизатору.

Гость писал(а):
Просматривались ли исходники на используемое подмножество ассемблерных команд PC в kolibri?


На сколько я понял, речь идет о восприятии изначального ассемблерного кода
с помощью СПФ. Ассемблер в fkolibri.rar - fkolibri\devel\~mak\asm
имеет условную совместимость с традиционным. Для неких фрагментов можно
использовать его. Можно ФАСМ загрузить в СПФ или форт встроить в ФАСМ,
но я этим в обозримом будущем заниматься не буду. Скорее я сделаю свой
форт-ассемблер из постфиксного из OpenFirmware, но тоже не в ближайшем
бидущем.

Хищник писал(а):
но преимущество Форта именно в доступе ко всем
процедурам (ресурсам) системы.

Только это не эксклюзивное свойство Форта, так что люди могут и не проникнуться.


Зато понятное и объективное.


Хищник писал(а):
При объявлении ссылки вперед резервируется место в коде и запоминается адрес, с которого еще не сделан переход, и название/номер метки.


Думаю предварительно объявить ссылки вперед с помощью некого определяющего слова.
На первом проходе они могут быть инициализированы любым значение.
В результате прохода они инициализируются CFA любым определяющим словом.

chess писал(а):
Я так понял, что NOTFOUND ты из транслятора убрал. Почему?


Ради упрощения и для увеличения скорости компиляции.
Добавить NOTFOUND не проблема, можно в рантайме.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт апр 18, 2008 00:25 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
А почему выбрана именно Колибри?
Мне она быстродействия на первом пне не показала. А должна была - ведь внутри все простое, как описывают... Так почему она ТАК тормозит?!

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт апр 18, 2008 10:20 
Не в сети
Аватара пользователя

Зарегистрирован: Вт сен 11, 2007 11:07
Сообщения: 187
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
там нет аппаратной поддержки (доступ к железу примитивен). вот почему. выключи в винде акселерацию и ты увидишь точно такие же тормоза. (это касается не только графики, а так-же ввода/вывода и т.п.)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 170 ]  На страницу 1, 2, 3, 4, 5 ... 12  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB