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

...
Google Search
Forth-FAQ Spy Grafic

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




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

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 460
Откуда: Москва
Благодарил (а): 57 раз.
Поблагодарили: 22 раз.
Код:
Министерство Фортостроения Российской Федерации
Язык программирования 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
Сообщения: 460
Откуда: Москва
Благодарил (а): 57 раз.
Поблагодарили: 22 раз.
Начало...

План такой:
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
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Пункты 1 и 2 вполне. Пункт 0 - а зачем он сегодня? Впору уже выбирать между 32 и 64 битами.


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

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 460
Откуда: Москва
Благодарил (а): 57 раз.
Поблагодарили: 22 раз.
: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
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
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 есть много разных.



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

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 460
Откуда: Москва
Благодарил (а): 57 раз.
Поблагодарили: 22 раз.
KPG писал(а):
Классика 8-ми битных контроллеров - ядро 8051

Что-то 8-битное в железе в ближайшей перспективе вряд ли удастся пощупать, т.к. сейчас засилье разных 32-битных DSP, ARM и Cortex, руководство не оценит моей тяги к 8-битным старичкам... :D Остается только вариант с тестированием своих поделок в связке с эмулятором чего-нибудь доисторического (Z80 или 6502). :D


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

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 460
Откуда: Москва
Благодарил (а): 57 раз.
Поблагодарили: 22 раз.
Итак, приступим...

Основной принцип: упростить все, что можно упростить. Пойдем по пути наименьшего сопротивления:
- это будет самый примитивный транслятор;
- никаких оптимизаций;
- asm вместо исполняемого файла, чтобы не вычислять адреса;
- вместо вывода в файл сделаем вывод на экран, с экрана будем перенаправлять в файл;
- 2/3/и т.д.-проходный транслятор вместо однопроходного, если так будет проще;
- без словарей, если получится;
- часть примитивов реализуем на asm, прыжковую часть и блочные конструкции - на ef;


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

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Total Vacuum писал(а):
KPG писал(а):
Классика 8-ми битных контроллеров - ядро 8051

Что-то 8-битное в железе в ближайшей перспективе вряд ли удастся пощупать, т.к. сейчас засилье разных 32-битных DSP, ARM и Cortex, руководство не оценит моей тяги к 8-битным старичкам... :D Остается только вариант с тестированием своих поделок в связке с эмулятором чего-нибудь доисторического (Z80 или 6502). :D

А, что мешает взять, например, для Cortex ARM - Mecrisp-Stellaris или VFX Forth, SwiftForth и местные разные разработки, например m3Forth (авторская тема есть на местном форуме)


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Total Vacuum писал(а):
Что-то 8-битное в железе в ближайшей перспективе вряд ли удастся пощупать

Есть интересные STM8S. У них не сказать что так мало флеша, но у STM вообще довольно дешевые чипы при неплохой периферии.
Total Vacuum писал(а):
руководство не оценит моей тяги к 8-битным старичкам...

Все ведь обсуждаемо, в том числе и с руководством. Зависит от организации, приоритетов и проектов. Грамотному руководству в целом все равно, сколько там байт в какой программе, главное, чтобы проект в целом двигался вперед и был при этом управляемым.


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

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Hishnik писал(а):
Total Vacuum писал(а):
Что-то 8-битное в железе в ближайшей перспективе вряд ли удастся пощупать

Есть интересные STM8S. У них не сказать что так мало флеша, но у STM вообще довольно дешевые чипы при неплохой периферии.


STM8 and Forth on Github

P.S. Кто то предполагает, что STM8S в изделиях с Ali заменяются на nuvoton N76E003at20 c 8051 однотактным ядром и 18Кб флеша + 1Kb SRAM тактовая 16МГц) но для данного кристала нужен программатор для программирования его по ISP.

Кроме того контроллеры STC15 (8051 ядро) описаны в разной технической литературе на китайском языке (наверное преподаётся в китайских университетах)
abebooks.com
Amazon

По STM8 гораздо меньше литературы.


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
KPG писал(а):
STM8 and Forth on Github

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

KPG писал(а):
P.S. Кто то предполагает, что STM8S в изделиях с Ali заменяются на nuvoton N76E003at20 c 8051 однотактным ядром и 18Кб флеша + 1Kb SRAM тактовая 16МГц) но для данного кристала нужен программатор для программирования его по ISP.

А это зачем? Для создания образа "токсичного чипа"? Китайцы и подделывают (что однозначно плохо), и заменяют существующие МК на их функциональные аналоги (что обсуждаемо, но плохо, если при заказанном STM8 приезжает аналог).
KPG писал(а):
По STM8 гораздо меньше литературы.

STM8 настолько прост в использовании, что можно пользоваться им на основе шаблонов IDE (настроить периферию правильно с точки зрения производителя) и собственных соображений.


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

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 460
Откуда: Москва
Благодарил (а): 57 раз.
Поблагодарили: 22 раз.
Да, у ST Microelectronics очень большой выбор, есть решения практически на все случаи жизни. Использовавшиеся ранее DSP Blackfin BF533/BF592, а также ARMы LH79520 и многочисленные LPC постепенно отовсюду вытесняются старшими братьями STM8 из семейства STM32 (от STM32L011 до STM32F446). Ну а что-нибудь из STM8, возможно, удастся в какой-нибудь компактный прибор сосватать. Кстати, документация по всем STM на сайте https://www.st.com достаточно подробная, а вот поиск раньше более удобным был.


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Total Vacuum писал(а):
Использовавшиеся ранее DSP Blackfin BF533/BF592, а также ARMы LH79520

А что за организация/проект, если не секрет? Можно в ЛС или почту, если нет желания сюда выносить.


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

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 460
Откуда: Москва
Благодарил (а): 57 раз.
Поблагодарили: 22 раз.
Наконец-то заработало... :))

Вот исходник:
Код:
%c%o%f:yf@g#q.;:el#@q,1?t+.1+$!;:n0#l!t(t(y#'!'<&)q,'\'=#(y'\'-)
)et,###'''=#{ye_}$'"'=|$'`'=|(#ye-)_l@t+.;:ai@p@2*r+!i#@1+$!p#@1
+$!;:up##@1-$!@2*r+@;:m5#+c;:k1?,=;:j"jmp l"s;:v'l'ci@h':'ca
"cmp ax,0"sm;:z"jne t"si@hmji@hm't'ci@h':'ca;:w#'''k$,#':'<$'/'>
&|{#"#"w"mov ax,0"s'''k{1+,~,'0'-}h'h'cm~'"'k{#"#"w"lea ax,$+5"s
mji@hm"db "ss",0"sm'l'ci@h':'ci#@1+$!~'`'k{1+#,'`'-(#,c1+#,'`'-)
~'{'k{vu_"_"wz~'~'k{ji@hm'l'cuh':'ca~'}'k{u'l'ch':'c~'('k{v"_"wz
~')'k{ujuhm'l'ch':'c~'['k{vz"dec ax"sm~']'k{ujuhm'l'ch':'c"_"w~
"call @"s#,bm}}}}}}}}}}_;:df@$of!nt,(':'t,={njt,##bm'@'cb':'c0qt
,+.nt,';'-(twnt,';'-)"ret"sm'l'cb':'c~'%'t,={ntd~tw}}nt,)f@xf!;
'{'#[#q+1$.]0p!'@'#+##,#{1+}+0$.2+d"ret"sm'a'-[#q+'a'+,{'@'c#'a'
+#b':'c"#"w"lea ax,d+0"s'A'-' '#**h'h'cm"ret"sm}]
"d dw 29696 dup(?)"sm"end"s


:D Шутка... впрочем, приведенный выше код транслируется и работает. Чуть позже выложу рабочий вариант. Пока сделал в лоб, получилось примерно 2.5/4К исполняемый файл/исходники, буду оптимизировать.


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

Зарегистрирован: Пн июл 01, 2019 14:01
Сообщения: 69
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Это чем-то зашифровано?


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

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


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

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


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

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