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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 197 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 14  След.
Автор Сообщение
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 02:51 
Hishnik писал(а):
В России выпускаются гораздо более мощные процессоры, в том числе и с оригинальной системой команд

Вот это очень интересно! Можно примеры?

Особенно интересны отечественные процессоры с оригинальной системой команд, на которых можно разработать карманный ПМК. С низким потреблением, в том числе. Идеально, если они выпускаются на отечественных заводах, а не в Китае. Хотя и не обязательно, конечно.

Про то, что сейчас на гигарецовых процессорах гоняют «Тетрис» и возможностей того же Word или айфона не используют даже на 1%, это да. Примета времени. Хотя конкретно в «Электронике МК-161» возможности 8051 использованы по максимуму. Здесь как раз грань между талантом и гениальностью — вещь выглядит просто («курсовая работа по профильной специальности» © ), но при внимательном изучении понимаешь, сколько сил вложено ради этого удобства и внешней простоты.

Хорошая и действительно быстрая библиотека десятичной плавучки (на 8-битном целочисленном камне), файловая система с журналированием (внутренний и сменный диски), знакомая многим система команд входного языка, доступность для программирования на этом языке встроенного оборудования (вплоть до прерываний): таймеры, интерфейсы, клавиатура с индикатором (вплоть до граф. интерфейса пользователя) и т.п. Много ума и любви вложено в архитектуру, действительно развившую подход Б3-34/МК-61.

Владельцы МК-161 сердятся, что им не облегчили программирование (разработку прошивки) самого камня. Меня это тоже раздражает. Но производитель объясняет это своими коммерческими интересами, ему тут видней. По их мнению закрытость прошивки усложняет появление китайских клонов. Сейчас же они монополисты — вложились в разработку и собирают по 15 тысяч с каждого мелкосерийного изделия.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 03:23 
Большое спасибо за ответы! Они помогают в проектировании языка. Про списки слов чуть позже, сейчас про 2 и 3 пункты.
Victor__v писал(а):
Код:
: POSTPONE COMP? PARSE-NAME SFIND IF LIT, ['] COMPILE, COMPILE, ELSE -2003 THROW THEN ; IMMEDIATE

Что рассуждать-то?

Понятно. Рассуждать вот о чём. POSTPONE заменяет, например, [COMPILE]

Получится ли вместе с введением POSTPONE удалить [COMPILE] или ещё какие-то слова вроде COMPILE из языка? Или же они остаются, а POSTPONE служит такой модной современной альтернативой?

Victor__v писал(а):
По исключениям
идея:
Сохраним указатели важных стеков в стеке возвратов, и там же сохраним значение переменной HANDLER . Пусть эта переменная теперь указывает на вершину стека возвратов. После этого исполняем токен со стека данных. Если дошли до THROW, то оно с пом. переменной HANDLER сбрасывает указатели стеков восстанавливает значение переменной и выходит из кода, если на хводе этого слова число отличное от нуля.

"сделать обработку «по умолчанию» дружественной к новичкам" это как?
В форте с этим этак очень просто. Ничего лишнего.

Хорошо, сделаю.

Дружественной к новичкам это вот что. Например, я встрою в арифметику обработку деления на ноль. Судя по стандарту, это –10 THROW

Если новичок-программист не знает про исключения и не использует CATCH , транслятор должен сам выполнить через девственный HANDLER какое-то действие по умолчанию. Например, выдать код ошибки на экран. Как устроена эта система? Явно это серьёзное перетряхивание старой системы, где основной цикл QUIT INTERPRET

И ещё один пункт, который мне придётся разработать или просто закодировать уже существующий подход. Сейчас у меня интерпретация идёт либо с пульта, либо из блока по переменной BLK

Современный подход включает работу с SOURCE , вложенные INCLUDE и даже EVALUATE строки, насколько я понял. Мне интересно, как это всё сейчас устроено, чтобы адаптировать к реалиям МК-161 с замахом на мультиплатформу, где хотелось бы обрабатывать настоящие текстовые файлы. Например, исходник Каллисто для метакомпиляции.

Насколько я понял, SOURCE и указатель в нём тоже придётся сохранять в CATCH и восстанавливать в THROW

А как насчёт контекста поиска (ALSO/ONLY), вершины словаря (HERE)? Что ещё исключения должны восстанавливать?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 04:07 
Victor__v писал(а):
Можно сделать стек словарей. Соот-но CONTEXT вершина VOC0 дно. Проще, чем список. Сам применяю такую схему.
Что сложилось:
PARSE PARSE-NAME SFIND CONTEXT CURRENT
всё :)

Ваша структура словарной статьи близка к той, что я уже использую в Каллисто 1.0. Во второй версии она будет куда извращённей. Например, поле связи отсутствует в силу того, что заголовки слов хранятся отдельно и занимают фиксированный размер — 1 десятичный регистр. Списки слов у меня будут, скорее всего, обычными массивами таких заголовков. Но придётся продумать, что хранить в их описании, кроме указателя на начало и длины этого массива.

Поэтому мне больше интересна структура, например, списка слов. Того безымянного слова (несколько связанных структур данных?), что создаёт слово WORDLIST и что потом подаётся на вход ALSO

Правильно я понимаю, что в Форте-2012 система списков слов полностью вытеснила старые VOCABULARY и в минимальном Форте словари можно уже не поддерживать? Раньше мы создавали VOCABULARY EDITOR и слово EDITOR выполняло переход в контекст этого словаря. Теперь WORDLIST вообще не помогает дать название новому словарю? Как быть, его самому в VALUE заносить? Насколько я понял, только единственное слово FORTH теперь осталось работать, как раньше словари.

Ваш стек словарей (или списков слов?) мне интересен. Это стек активных контекстов или стек всех созданных списков слов? Вообще, все созданные списки слов где-то системой запоминаются или программист может создать список и случайно выбросить его wid , забыть о нём? Созданный список слов уже не удалить?

И последний вопрос, который я уже задавал, но ответа не понял. Списки слов независимы? Раньше можно было создать словарь «на основе» более старого словаря. Тогда все слова старого словаря автоматически считались частью нового словаря. Теперь такого нет и весь контекст надо явно указывать с помощью ALSO ?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 10:11 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
ath писал(а):
Большое спасибо за ответы! Они помогают в проектировании языка. Про списки слов чуть позже, сейчас про 2 и 3 пункты.
Victor__v писал(а):
Код:
: POSTPONE COMP? PARSE-NAME SFIND IF LIT, ['] COMPILE, COMPILE, ELSE -2003 THROW THEN ; IMMEDIATE

Что рассуждать-то?

Понятно. Рассуждать вот о чём. POSTPONE заменяет, например, [COMPILE]



Если мне память не изменяет, то POSTPONE и [COMPILE] делают разные вещи.
С компилированный код первого
Код:
['] какое-то-слово [b]COMPILE,[/b]

Скомпилированный код второго:
Код:
['] какое-то-слово [b]EXECUTE[/b]


[COMPILE] на мой взляд (пофиг на стандарт) нужно только для исполнения immediate-слова и пр. слов с флагами без оных.

Поэтому они не заменяют друг друга, у них разные задачи.
В своём форте у меня [COMPILE] не было вообще, только POSTPONE . Но ввёл [COMPILE], дабы подавлять флаги слов

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 11:05 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
ath писал(а):
Victor__v писал(а):
Можно сделать стек словарей. Соот-но CONTEXT вершина VOC0 дно. Проще, чем список. Сам применяю такую схему.
Что сложилось:
PARSE PARSE-NAME SFIND CONTEXT CURRENT
всё :)



Поэтому мне больше интересна структура, например, списка слов. Того безымянного слова (несколько связанных структур данных?), что создаёт слово WORDLIST и что потом подаётся на вход ALSO

Правильно я понимаю, что в Форте-2012 система списков слов полностью вытеснила старые VOCABULARY и в минимальном Форте словари можно уже не поддерживать? Раньше мы создавали VOCABULARY EDITOR и слово EDITOR выполняло переход в контекст этого словаря. Теперь WORDLIST вообще не помогает дать название новому словарю? Как быть, его самому в VALUE заносить? Насколько я понял, только единственное слово FORTH теперь осталось работать, как раньше словари.

И последний вопрос, который я уже задавал, но ответа не понял. Списки слов независимы? Раньше можно было создать словарь «на основе» более старого словаря. Тогда все слова старого словаря автоматически считались частью нового словаря. Теперь такого нет и весь контекст надо явно указывать с помощью ALSO ?


Форт-2012 это что? Стандарт какой-то?
Если подразумевать стек контекста, то реализация VOCABULARY становится тривиальной
ПРИМЕРНО ТАК:
Код:
: VOCABULARY CREATE 0 , DOES> CONTEXT CELL+ TO CONTEXT CONTEXT ! ;


Ну и перебор соответсвенно:
: SFIND ( a u -- flag xt -1| a u )
2DUP HASH \ a u -- a u hash
CONTEXT >R
BEGIN
CONTEXT VOC0 XOR WHILE
R@ @ >R
BEGIN R@ WHILE
R@ L>hashFA @ OVER = IF 2DROP DROP R@ L>FFA @ R@ L>CFA @ -1 RDROP RDROP EXIT THEN
R> @ >R
REPEAT
RDROP
R> CELL- >R
REPEAT
RDROP
DROP 0
;


;

Но на вряд ли это поможет в Ваших "извращениях" со структурой слова.

Цитата:
Как быть, его самому в VALUE заносить?

Как-то так WORDLIST ALSO CONTEXT !

Списки слов независимы.
теперь такого нет и весь контекст надо явно указывать с помощью ALSO в самую точку.
В идеале, словарь FORTH ничем не должен отличаться от остальных словарей опр. в системе.
Но некоторые форты этим грешат, к примеру, СПФ.

Цитата:
Ваш стек словарей (или списков слов?) мне интересен. Это стек активных контекстов или стек всех созданных списков слов? Вообще, все созданные списки слов где-то системой запоминаются или программист может создать список и случайно выбросить его wid , забыть о нём? Созданный список слов уже не удалить?


Стек активных контекстов
Программист может всё.
Созданный список можно удалить, но засорится кодофайл.
чтобы избежать этого можно создавать словарь в хипе. Поищите по форуму слово TEMP-WORDLIST

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 12:10 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
ath писал(а):
Вот это очень интересно! Можно примеры?

НИИМЭ, Миландр, Элвис, Байкал Электроникс, НТЦ Модуль выпускают целые линейки процессоров. Это из известных - от Эльбруса до ARM и ARM-подобных. Кроме этого, есть менее известные проекты, которые по крайней мере имеют готовые образцы, начиная от Мультиклета и заканчивая целыми гроздьями микросхем, сделанных для конкретных заказчиков.

ath писал(а):
Особенно интересны отечественные процессоры с оригинальной системой команд, на которых можно разработать карманный ПМК. С низким потреблением, в том числе. Идеально, если они выпускаются на отечественных заводах, а не в Китае. Хотя и не обязательно, конечно.

Прежде всего, так называемый МК-161 - это не ПМК, а программа-эмулятор, запущенная на тайваньском/китайском микроконтроллере. К отечественному проекту там скорее всего даже корпус не имеет отношения. Вопросы оригинальности системы команд и места производства являются сугубо тактическими. Имея программную модель, тем более такого элементарного устройства, как ПМК, можно получить целый ассортимент проектов под разные фабрики - была бы потребность. Низкое потребление - это сочетание технологических настроек и проектных решений. На сегодняшний день этим совершенно бесполезно заниматься просто так, не имея конкретной потребности в 50-100 тыс. микросхем. То, что есть, позволяет сделать вполне нормальный компьютер, для которого ПМК будет мелкой программой-эмулятором. Потому что я даже не знаю как надо в кремнии ужиматься, чтобы получился именно ПМК и ничего более.

ath писал(а):
Владельцы МК-161 сердятся, что им не облегчили программирование (разработку прошивки) самого камня. Меня это тоже раздражает. Но производитель объясняет это своими коммерческими интересами, ему тут видней. По их мнению закрытость прошивки усложняет появление китайских клонов. Сейчас же они монополисты — вложились в разработку и собирают по 15 тысяч с каждого мелкосерийного изделия.

За сколько можно купить плату с ARM, причем способную запустить Linux? 15 тысяч - это цена хорошего планшета или простого ноутбука, на экране которых можно нарисовать этот МК-161 (причем хоть в 3D) и эмулировать его на <1% ресурсов. Так что отсутствие информации о программировании понятно - как только люди поймут, что это просто МК - клон 8051, они скажут "да мы такое же купим на Aliexpress и сами запрограммируем, а корпус на 3D-принтере себе напечатаем!". Так что люди себе сделали просто бизнес по продаже ощущения элитарности.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 16:06 
Hishnik писал(а):
Это из известных - от Эльбруса до ARM и ARM-подобных. Кроме этого, есть менее известные проекты, которые по крайней мере имеют готовые образцы, начиная от Мультиклета и заканчивая целыми гроздьями микросхем, сделанных для конкретных заказчиков.

Мультиклет один из представителей ПМК-сообщества даже приобрёл и опубликовал свои впечатления. Это интересный процессор, но он больше для десктопа. От батаеек долго не проработает.

ARM позволит увеличить производительность, согласен. Но критика «отечественности» потрохов ПМК останется. Замена одной зарубежной архитектуры (8051) на другую зарубежную архитектуру (ARM).

Под конкретного заказчика процессор делать коммерчески не интересно при наших тиражах — сотни изделий. Может, конечно, кого-то вдохновит идея или будет «попутный» проект со схожими требованиями к процессору.

Из перечисленного остаётся Эльбрус. У них есть вариант с низким энергопотреблением? Из того, что я читал, их рынок тоже заточен на десктопы и производительность. Система команд тоже не вдохновляет, по крайней мере меня. Это не PDP-11, не Z80 и не Б3-34.

Hishnik писал(а):
Прежде всего, так называемый МК-161 - это не ПМК, а программа-эмулятор, запущенная на тайваньском/китайском микроконтроллере. К отечественному проекту там скорее всего даже корпус не имеет отношения.

Здесь у вас два аргумента смешаны.

Первый эмоциональный, из серии «тебе, наверное, жизнь не нравится» © Пелевин. Можно говорить, что смартфоны теперь «не настоящие телефоны», а программы-эмуляторы на тайваньском/китайском микропроцессоре. Да и фотоаппараты теперь не фотоаппараты, а «программы-эмуляторы»…

Да, сейчас так делаются гаджеты. Никто больше не делает отдельный комплект микросхем для ПМК и других устройств. Используется (в том же HP 50g) камень общего назначения. На котором крутится программа, реализующая («эмулирующая», если хотите выругаться) входной язык, разработанный для абстрагирования от более изменчивой элементной базы.

Это не делает ПМК «не ПМК». Просто современный инженерный подход.

Вторую критику «отечественности» тоже мы давно разбирали на форумах. iPhone является закрытым американским продуктом, где каждый вентиль и строчка кода находится под контролем крупной американской фирмы. Но это не мешает Apple заказывать корпуса, процессоры и всё остальное там, где окажется коммерчески целесообразным.

Apple, кстати, тоже ругают и просят перенести производство в Калифорнию. :D Но пока так. МК-161 даже больше отечественный, за счёт МЭЛТ из Зеленограда и русского аккумулятора. Архитектура 8051 тоже выбрана с учётом возможного импортозамещения.

Hishnik писал(а):
На сегодняшний день этим совершенно бесполезно заниматься просто так, не имея конкретной потребности в 50-100 тыс. микросхем. То, что есть, позволяет сделать вполне нормальный компьютер, для которого ПМК будет мелкой программой-эмулятором.

Это основной вопрос. На мелкой серии МК-161 получается таким, каким получился. С зарубежным камнем W77LE516P, уже снятым с производства.

Но если кто-то сделает в разы более производительную машинку на отечественном процессоре, при сохранении работы от одного подзаряда неделями — любители ПМК только обрадуются. :D Надеюсь, что Каллисто сможет стать удобным входным языком для такой железки.

Hishnik писал(а):
Так что отсутствие информации о программировании понятно - как только люди поймут, что это просто МК - клон 8051, они скажут "да мы такое же купим на Aliexpress и сами запрограммируем, а корпус на 3D-принтере себе напечатаем!".

Примерно так. Закрытость прошивки сдерживает появление клонов.

За 10 лет появилось два эмулятора МК-152/МК-161. Но ни один из них пока не откомпилирован в систему команд 8051 так, чтобы заменять заводскую прошивку. Один из этих эмуляторов — мой. Он далеко не всё реализует, что в камне, но большинство программ пользователя на нём работает.

Hishnik писал(а):
Так что люди себе сделали просто бизнес по продаже ощущения элитарности.

Не совсем так. Меня вдохновляет то, что МК-161 развивает отечественную линейку ПМК.

Но у «людей» была конкретная бизнес задача сделать что-то мелкосерийное с индикатором и клавиатурой, для программирования чего не обязательно знать ассемблер или языки высокого уровня. Система команд советских ПМК оказалась идеальной.

Задач по мелкой автоматизации много. На сайте производителя предлагаются готовые решения по обслуживанию АЗС и школьных звонков, на этой архитектуре.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 16:13 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Цитата:
Современный подход включает работу с SOURCE , вложенные INCLUDE и даже EVALUATE строки, насколько я понял. Мне интересно, как это всё сейчас устроено, чтобы адаптировать к реалиям МК-161 с замахом на мультиплатформу, где хотелось бы обрабатывать настоящие текстовые файлы. Например, исходник Каллисто для метакомпиляции.

Насколько я понял, SOURCE и указатель в нём тоже придётся сохранять в CATCH и восстанавливать в THROW

А как насчёт контекста поиска (ALSO/ONLY), вершины словаря (HERE)? Что ещё исключения должны восстанавливать?


Смотря что считать современным.
В Нове, к примеру, вообще нет переменной SOURCE.

Обычно сохраняют указатель зоны разбора входного потока, кол-во символов в потоке, переменную прочитанных символов >IN и вектор перезагрузки источника REFILL.
К примеру для EVALUATE условно будет
Код:
: EVALUATE \ a u -- ???
BUFF @       \ свои имена придумать
SIMBOL @    \ свои имена придумать
>IN @          \ по стандарту
FROM REFILL
4 N>R
SIMBOL !
>IN 0!
BUFF !
['] FALSE TO REFILL \ перезагрузка не нужна
['] INTERPET CATCH
... \ тут востанавливаем значение переменных выше
THROW
;


Проще говоря, всё зиждется на цепочке CATCH THROW .
Возможно, будет проще сделать слова для автовосстановления зн. переменных при откате. Получится более лаконичней.
Всё остальное, в принципе, не обязательно восстанавливать
Ибо:
  • лишняя работа
  • если в транслируемом источнике возникнет ошибка, то её можно быстрее найти по косвенным признакам.


Насчёт дружелюбных перехватов ошибок.
Вывод в top-level кода ошибки, расшифровки, доп. информации и пр. безусловно хорошо.
Но это не всегда просто реализуется.
Проще сделать минимум.

В моём форте (Нова) всё построено на откатах, я даже точно спозиционировать ошибку без хитрых ухищрений не смогу.
Поэтому если получается вылет в top-level, то вывожу код ошибки, значение STATE, и последнее опр. слово.
Можете скачать, потестить.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 16:27 
Цитата:
Форт-2012 это что? Стандарт какой-то?

Да. Пока мы десятилетиями рассуждали о смысле жизни, поругивая ANS, международное сообщество приняло и опубликовало стандарт Форт-2012:
http://www.forth200x.org/documents/forth-2012.pdf

Уже в Каллисто 1.0 заметно влияние этого стандарта.

POSTPONE , кстати, там выполняет две функции. Если экранируемое им слово имеет флаг IMMEDIATE , он работает, как [COMPILE]

Цитата:
Но на вряд ли это поможет в Ваших "извращениях" со структурой слова.

Поможет, даже не сомневайтесь! Конечно же, мне придётся подстраивать под свою реализацию словарей, но я-то её хорошо знаю.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 16:41 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
ath писал(а):
Цитата:
Форт-2012 это что? Стандарт какой-то?

Да. Пока мы десятилетиями рассуждали о смысле жизни, поругивая ANS, международное сообщество приняло и опубликовало стандарт Форт-2012:
http://www.forth200x.org/documents/forth-2012.pdf

Уже в Каллисто 1.0 заметно влияние этого стандарта.

POSTPONE , кстати, там выполняет две функции. Если экранируемое им слово имеет флаг IMMEDIATE , он работает, как [COMPILE]

Цитата:
Но на вряд ли это поможет в Ваших "извращениях" со структурой слова.

Поможет, даже не сомневайтесь! Конечно же, мне придётся подстраивать под свою реализацию словарей, но я-то её хорошо знаю.


На стандарты в принципе по фигу. Хотя они позволяют нам, фортерам общаться на общем диалекте. Но у нас тут своя атмосфера.
В моём форте POSTPONE учитывает флаг слова. В СПФ вроде бы тоже, но в моём форте флагов больше

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 16:53 
Victor__v писал(а):
Код:
: EVALUATE \ a u -- ???
BUFF @       \ свои имена придумать
SIMBOL @    \ свои имена придумать
>IN @          \ по стандарту
FROM REFILL
4 N>R
SIMBOL !
>IN 0!
BUFF !
['] FALSE TO REFILL \ перезагрузка не нужна
['] INTERPET CATCH
... \ тут востанавливаем значение переменных выше
THROW
;


Проще говоря, всё зиждется на цепочке CATCH THROW .

Как интересно! Вы сохранили старый добрый INTERPRET для основного цикла. И именно он вызывает REFILL

Это общепринятый подход или какая-то ваша особенность? А самый верхний уровень CATCH обрабатывается в QUIT ?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 16:58 
Из русских Сергей Баранов участвует в разработке международного стандарта. Если нет средств ездить самим, можно попробовать поговорить с соотечественником, чтобы отстаивать интересы SPF и Нова — ну и взаимообогащать диалекты Форта.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 17:09 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
ath писал(а):
Мультиклет один из представителей ПМК-сообщества даже приобрёл и опубликовал свои впечатления. Это интересный процессор, но он больше для десктопа. От батаеек долго не проработает.

ARM позволит увеличить производительность, согласен. Но критика «отечественности» потрохов ПМК останется. Замена одной зарубежной архитектуры (8051) на другую зарубежную архитектуру (ARM).


Дело не в конкретном процессоре, а в факте наличия в России инфраструктуры разработки микроэлектроники. Микросхем с ядром ARM много, почему бы и российским предприятиям их не закладывать в проекты? От батареек работал бы и 16-разрядный зеленоградский форт-процессор, только вот производителю неинтересно ждать, пока энтузиасты купят десяток штук (на всех).

ath писал(а):
Можно говорить, что смартфоны теперь «не настоящие телефоны», а программы-эмуляторы на тайваньском/китайском микропроцессоре. Да и фотоаппараты теперь не фотоаппараты, а «программы-эмуляторы»…


А на смартфонах что, единственный вариант использования - это кручение пальцем телефонного диска, нарисованного на экране и распознавание голосовым процессором криков "барышня, барышня!"? :) У фотоаппарата тоже электронная начинка упрятана в корпус с эмуляцией фотопленки? Почему же тогда МК с возможностью программирования на Си должен быть резко ограничен в возможностях? Продавали бы плату как электронное устройство в корпусе, с периферией.... ах, такую плату на базе клона 8051 за 15 тысяч никто не купит! :)

ath писал(а):
Но если кто-то сделает в разы более производительную машинку на отечественном процессоре, при сохранении работы от одного подзаряда неделями — любители ПМК только обрадуются.


Уже относительно давно по техническим меркам энтузиасты повторили Cray на недорогой ПЛИС. Мимо ПМК они как-то.... пролетели :)) Единственное, что не выдержали - размеры, получилось механически в масштабе 1:10.
http://dangerousprototypes.com/blog/2013/03/07/homebrew-cray-1a-on-xilinx-spartan-3e-board/

ath писал(а):
Но у «людей» была конкретная бизнес задача сделать что-то мелкосерийное с индикатором и клавиатурой, для программирования чего не обязательно знать ассемблер или языки высокого уровня. Система команд советских ПМК оказалась идеальной

Для несложного оборудования с индикатором и клавиатурой подходит большинство аппаратных платформ. Если на какой-то из них людям удалось пристроить свои технические фантазии, это не делает их фантазии эффективным и тем более единственным средством решения подобной задачи. К примеру, если уж делать низкопотребляющее устройство, то можно делать его именно на той аппаратной архитектуре, которая напрямую соотносится с программной моделью, а не эмулировать, тратя на это в десятки-сотни раз больше энергии.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 17:29 
Hishnik писал(а):
От батареек работал бы и 16-разрядный зеленоградский форт-процессор, только вот производителю неинтересно ждать, пока энтузиасты купят десяток штук (на всех).

Не настолько всё так плохо. Для ПМК потребуются сотни, возможно тысячи, камней.

Если сами ПМК не вдохновляют изготовителей форт-процессоров, потребуется подождать попутных проектов. Но в любом случае эти тысячи — плюс к спросу на отечественные процессоры. С учётом, что воспитанные на таких ПМК программисты смогут использовать эти процессоры в своих разработках.

Возвращаясь к уже существующему и производящемуся, 15 тысяч это цена «для всех», с учётом всех налогов (взяток?) и дохода коммерческой фирмы. «Для своих» они делают скидку. По моим наблюдениям для скидки и хороших отношений с производителем надо прикинуться «ватой» — будто попал под влияние псевдо-патриотической идеологии «городского сумасшедшего» депутата Фёдорова (НОД), которая лично мне омерзительна.

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

О времена, о нравы! :-)


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 17:42 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
ath писал(а):
Не настолько всё так плохо. Для ПМК потребуются сотни, возможно тысячи, камней.

Самый дешевый известный мне запуск MPW - в районе 6 млн. рублей, с учетом проектирования топологии по RTL. Тысячи камней не спасут.

ath писал(а):
Но в любом случае эти тысячи — плюс к спросу на отечественные процессоры.

Это со страшной силой тянет назад развитие отечественной технической школы, устанавливая ориентиром архитектуру полувековой давности. А что, получше уже ничего нельзя придумать? Надо принять 745-й комплект за идеал и потратить силы на подгонку решаемых задач под его возможности?

ath писал(а):
Возвращаясь к уже существующему и производящемуся, 15 тысяч это цена «для всех», с учётом всех налогов (взяток?) и дохода коммерческой фирмы.

Я не понимаю с точки зрения техники, почему нельзя подобрать готовую коробочку с МК и индикатором. Там и средства разработки будут, и программатор, и возможность загрузить любую прошивку. Эмулятор ПМК - уровень курсовой работы студента и основные усилия там нужны на то, чтобы вчитаться в документацию. Ну да, не будет вот этого неформального движения "восстановим советские калькуляторы в большом коллективе", но о том и речь - нужен технический результат, или нужно членство в кружке ностальгирующих? Так ведь можно и Спектрум вспомнить... который тоже сейчас можно эмулировать на современном относительно недорогом для радиолюбителя железе. Этим, кстати, и первый владелец этого форума занимался, еще когда такие эмуляторы имели практическую ценность.


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

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


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

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


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

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