Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пн июл 22, 2019 11:36

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: ef \ esoteric forth \
СообщениеДобавлено: Вт июл 16, 2019 23:22 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 25
Откуда: Msk
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Код:
Министерство Фортостроения Российской Федерации
Язык программирования ef \ esoteric forth \

command     ef                   FORTH
----------  -------------------  --------------------------
comment     \ \                  ( ... )
include     %                    S" filename" INCLUDED
number      0-9                  0-9
user        a-z                  a-z
define      : ;                  : ... ;
math        + - * / < = > & | ^  + - * / < = > AND OR XOR
stack       # $ ? _              #UP $WAP ?ICK DR_P
load/store  @ ! , .              @ ! C@ C!
string      " "                  S" string"
char        ' '                  CHAR c
asm         ` `                  CODE ... END-CODE
if          { ~ }                IF ... ELSE ... THEN
while       ( )                  IF BEGIN ... 0= UNTIL THEN
loop        [ ]                  DO ... -1 +LOOP


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Вт июл 16, 2019 23:30 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 25
Откуда: Msk
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Начало...

План такой:
0.16-битная версия (x86);
1.32-битная версия (x86);
2.портируем на ARM, Blackfin, Thumb, ...;
3.захватываем мир и начинаем им управлять, стараясь не привлекать внимание санитаров...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Ср июл 17, 2019 01:15 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6727
Благодарил (а): 15 раз.
Поблагодарили: 108 раз.
Пункты 1 и 2 вполне. Пункт 0 - а зачем он сегодня? Впору уже выбирать между 32 и 64 битами.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Ср июл 17, 2019 11:02 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 25
Откуда: Msk
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
:D Эм... Вообще-то я планировал начать с 8-битной версии, т.к. минималистичный язык должен быть минималистичен во всем. :D Но потом от этой идеи отказался, т.к. 256 байт для хранения данных могло и не хватить. Возможно, вернусь к этой затее позже...

Кстати, есть ли в природе 8-битные версии Форта? И как в них обходится ограничение "8-бит на адрес"? Ведь процессоры тоже были когда-то 8-битными (да и сейчас есть), но при этом позволяли работать с 64K памяти благодаря какому-нибудь 16-битному регистру или паре 8-битных регистров.
Тут есть несколько возможных вариантов:
- только 8-битные адреса, только хардкор! :D
- при заталкивании в стек адреса переменной, а также при вызове команд @ и ! можно оперировать 2-байтными адресами, но тогда не будет работать пара команд SWAP !
- при заталкивании в стек адреса переменной в стек писать только младшую часть адреса (смещение), а старшую часть адреса (сегмент) писать в какой-нибудь регистр, но тогда возникают проблемы при попытке добавить к одной переменной значение другой: X DUP @ Y @ + SWAP ! в общем случае работать не будет

Интересно все-таки, как это сделано или могло бы быть сделано в 8-битной версии Форт?

Ну а после выполнения п.3 все процессоры будут объявлены 16-разрядными независимо от фактической разрядности... :))


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Ср июл 17, 2019 11:33 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1059
Благодарил (а): 3 раз.
Поблагодарили: 36 раз.
Total Vacuum писал(а):
:D Эм... Вообще-то я планировал начать с 8-битной версии, т.к. минималистичный язык должен быть минималистичен во всем. :D Но потом от этой идеи отказался, т.к. 256 байт для хранения данных могло и не хватить. Возможно, вернусь к этой затее позже...

Классика 8-ми битных контроллеров - ядро 8051 (там как раз именно 256 байт, за некоторыми оговорками, внутри кристала)
правда там есть индексный 16-ти битный регистр + пара регистров R0-R1 могут быть индексом,
что интересно в этой нестареющей архитектуре нет флага нуля результата и результат на 0 проверяется в команде перехода по содержимому А (аккумулятора) или (регистра?)
Например в контроллере CY7C68013A-56VC т.к. программа при старте загружается с внешней флэш микросхемы по I2C,
то внутреннюю память программы объединили и для доступа как к ОЗУ (получив фон Неймана на 8051 ядре)
эта возможность позволяет в данном контроле (в пределе) получить из 24Кб необходимое количество ОЗУ из общего с кодом пространства (т.к. во многих контроллерах количество ОЗУ и Флэш фиксируется и влияет на цену, а в таком варианте есть выбор)
Пространство кода ограничено в данном контроллере 16Кб, что вполне комфортно и для вcтраиваемой Форт системы учитывая другие плюшки данного кристалла (48Мгц 4-е тактное ядро, USB2.0, FIFO, GPIF ..). :) Есть ещё и 128-ногий CY7C68013A и там уже есть интерфейс и к внешней памяти.

P.S. Неплохо 8051 ядро описано в 1-ом томе (за авторством Предко Майкла 2001г) книге "Руководство по микроконтроллерам".
CY7C68013A в статьях Чекунова Д. по применению USB журнала "Современная электроника" 2004-2006гг.

Кто то давно публиковал на forth.org.ru (возможно ~chess) такой Форт для 8051 (запуск под SPF4) с программой для хлебопечкиProgramm
Форт систем, конечно, для 8051 есть много разных.


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

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


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

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


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

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