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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Форт для десктопа - 2020
СообщениеДобавлено: Чт ноя 26, 2020 13:43 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Ну кросплатформенность можно обеспечить переписью примитивов под каждую архитектуру)
Желательно конечно, чтобы этих примитивов было как можно меньше.

Вот думаю сейчас ради интереса
Получилось 45 простых примитивов
и 3 компилирующих слова ( RET, COMPILE, LIT, )

Итого 49 вполне терпимо, как по мне.

И еще остается реализация доступа ко внешним функциям.

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт для десктопа - 2020
СообщениеДобавлено: Пт дек 04, 2020 12:51 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Victor__v писал(а):
Вот думаю сейчас ради интереса
Получилось 45 простых примитивов
и 3 компилирующих слова ( RET, COMPILE, LIT, )

Итого 49 вполне терпимо, как по мне.

Где-то да. В одном из форт-процессоров удалось уложиться в 32 опкода, с добавлением структур управления (которые так или иначе сводились к условным переходам, т.е. на нескольких командах процессора "выращивались" слова Форта) получалось как раз около 40-50 слов. Можно добавить вспомогательные слова, и варианты базовых, например, от @ "отпочковывается" целый набор C@ W@ D@ Q@ (а с плавающей точкой еще F@ SF@).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт для десктопа - 2020
СообщениеДобавлено: Чт дек 10, 2020 16:57 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Hishnik писал(а):
(а с плавающей точкой еще F@ SF@).


Помню в целях портируемости, хе-хе, решил отказаться от слов которые работают, со стеком плав. точки в зависимости от разрядности.
Чтобы не было гемора с переносом кода
Так на 32-битном интеле данные переносятся на стек плав. точки только в виде 32-битных чисел.
А на 64-битном интеле, в свою очередь, будут приниматься только 64-битные числа.

Зато слов меньше переписывать :)

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт для десктопа - 2020
СообщениеДобавлено: Чт дек 10, 2020 18:12 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Victor__v писал(а):
Так на 32-битном интеле данные переносятся на стек плав. точки только в виде 32-битных чисел.
А на 64-битном интеле, в свою очередь, будут приниматься только 64-битные числа.

Думаю, это не совсем правильно, поскольку данные могут исходно представляться в определенном формате. Сопроцессор работает со всеми форматами, включая 80-битный, так что не давать ему какие-то числа немного странно. Опять же, динамический диапазон значений определяется задачей, у 32- и 64-битных чисел очень уж разный "машинный ноль", поэтому 32 бита могут в определенных численных алгоритмах просто не подойти.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт для десктопа - 2020
СообщениеДобавлено: Пт дек 11, 2020 16:09 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Вам виднее конечно.
С другой стороны я рассматривают больше вопрос портируемости.

Легче иметь на двух разрядностях одни и те же слова типа >F F> int>F F>int
чем весь спектр редкоиспользуемых вида
D>F FD> S>F S>F и пр.

Ну вот какой забор числа двойной длинны на стек с плав. точкой, если размер ячейки 8 байт?

А то как вычисляет сопроцессор, я не лезу.
Вычисляет в 80-битном формате ну и отлично, а на стек данных пусть переносит в зависимости от основной разрядности

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт для десктопа - 2020
СообщениеДобавлено: Пт дек 11, 2020 21:42 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Вообще сопроцессор внутри всегда работает с 80-битными числами. Это внутренний формат comp, который в целом можно выгрузить в память, но обычно так не делают. Форматы 32 и 64 бит появляются только в моменты загрузки на сопроцессор и записи в память и определяют внутренние правила преобразования. Если речь идет о преобразовании целого числа в число с плавающей точкой, то результатом все равно будет comp. Если использовать именно стек сопроцессора и не делать его эмуляцию в памяти, то смысла в преобразованиях нет - сопроцессор всегда считает одинаково, а загружает числа в соответствии с их разрядностью в памяти. При этом числа с плавающей точкой обычно явно выбираются в процессе анализа математики, потому что речь в первую очередь о динамическом диапазоне значений. Нет ничего необычного в 32-битной целочисленной системе, которая адресует 64-битные числа с плавающей точкой. На целочисленном стеке адреса, которые указывают на данные в памяти. Наоборот тоже можно.


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

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


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

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


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

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