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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 222 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11, 12, 13 ... 15  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 24, 2010 12:36 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
вопрос писал(а):
1. форт должен быть в состоянии воспринимать ассемблерные куски - это усложняет компилятор в одном отношении (требуются слова касающиеся ассемблера), но упрощает в другом (можно избежать части чисто фортовых слов - вывод в порт и т.п.), экономит итоговый код

2. форт не должен быть в состоянии воспринимать ассемблерные куски - это делает компилятор простым, но зато требует присутствия в форте всех слов, которые касаются возможностей ассемблера (вывод в порт и т.п.), итоговый код разрастается

не понял что имеется ввиду.
Ассемблер Форту ниразу не нужен, без него можно обходиться.
В наиболее принятом и простом случае используются вставки вида: [ 0xC3 B, 0xD2 B, ] или подобные тому решения.
С другой стороны, может так случиться, что ассемблер целевой платформы будет вообще не доступен, то есть тупо нельзя писать в пространство кода, и тогда придется обходиться имеющимися примитивами. Кроме того, весь возможный набор ассемблерных команд ни одному Форту не нужен, поэтому Форт-ассемблер может быть сильно урезаным (не полным).
Ассемблеры (да хоть для всех процессоров сразу, только в разных словарях) могут быть уже на работающей Форт-системе.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
В наиболее принятом и простом случае используются вставки вида: [ 0xC3 B, 0xD2 B, ]

Вообще, имел ввиду, как это в СМАЛ32 - можно при-строить сom-файл, компилированный вначале сторонним ассемблером.
Цитата:
SMAL32 позволяет на данном этапе использовать внешний ассемблер для
создания библиотек.
Несколько слов о технологии: библиотека пишется в отдельном файле с
расширением .ASM - как любая программа на ассемблере. Первой строкой в
этом файле - поставте строку "include smal_asm.inc", подключающую файл
макросов. Последней строкой - вызов макроса "endunit".
Полученный файл ассемблируется любым попавшим под руку ассемблером, и
любым, попавшимся на глаза линкером преобразуется в .COM-файл! Затем,
получившийся файл переименовывается из *.COM в *.L32... Он готов к рабо-
те! ;-)

Цитата:
В наиболее принятом и простом случае используются вставки вида: [ 0xC3 B, 0xD2 B, ]

вот, это один из вариантов - непосредственно код, видимо, это может быть громоздко, потому, возможны какие-то слова для оформления кода


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

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
вопрос писал(а):
Не знаком с ТРИЗ (пока), но это худшая реализация одного из вариантов выше - минимальность теряется

Вот решение в духе ТРИЗ:
Противоречие: ассемблер должен быть и его не должно быть.
Ассемблер подгрузили, сделали на нем форт-код и выгрузили из форт-системы.
Созданный с помощью ассемблера код для своего использования ассемблера не требует.
В форт-системе останутся только два слова, например: asm-on и asm-off.
При этом форт-систему нужно "научить" создавать удаляемые временные словари.

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


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
chess писал(а):
вопрос писал(а):
Не знаком с ТРИЗ (пока), но это худшая реализация одного из вариантов выше - минимальность теряется

Вот решение в духе ТРИЗ:
Противоречие: ассемблер должен быть и его не должно быть.
Ассемблер подгрузили, сделали на нем форт-код и выгрузили из форт-системы.
Созданный с помощью ассемблера код для своего использования ассемблера не требует.
В форт-системе останутся только два слова, например: asm-on и asm-off.
При этом форт-систему нужно "научить" создавать удаляемые временные словари.

это например :) :idea:


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

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Бинарники, конечно, можно подключать, но это не очень удачная мысль. :)
Лучше использовать прекомпилированный исходник (как у Мура), это существенно уменьшает время компиляции. Кроме того, не надо будет сопровождать лишнее дублирование. Исходник бинарника + сам бинарник + интерфейс бинарника заменяем просто исходником ;) .
chess писал(а):
При этом форт-систему нужно "научить" создавать удаляемые временные словари.
Это уже есть, у ~ac-а b ~profit-а были наработки.

_________________
With best wishes, in4.


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
in4 писал(а):
Бинарники, конечно, можно подключать, но это не очень удачная мысль. :)
Лучше использовать прекомпилированный исходник (как у Мура), это существенно уменьшает время компиляции. Кроме того, не надо будет сопровождать лишнее дублирование. Исходник бинарника + сам бинарник + интерфейс бинарника заменяем просто исходником ;) .
chess писал(а):
При этом форт-систему нужно "научить" создавать удаляемые временные словари.
Это уже есть, у ~ac-а b ~profit-а были наработки.

Напоминаю, речь идёт о минимальности ...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 24, 2010 15:20 
Просто замечу, что ассемблер – это совсем другой язык. Напоминает советские времена, когда при покупке детектива нагружали гантелями в придачу. Если ввести в стандарт его использование, значит нужно вводить еще восемь с лишним тысяч других языков. Чтобы быть последовательным.

Загрузка одним словом всего необходимого из прекомпилированных/com-файлов – интересная идея. Типа загрузки модулей.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 24, 2010 15:38 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
idem писал(а):
Загрузка одним словом всего необходимого из прекомпилированных/com-файлов – интересная идея. Типа загрузки модулей.
Немножко не так. Прекомпилированный исходник - это исходник в таком представлении, которое очень упрощает и ускоряет компилятор. Редактор при записи переводит внутренние структуры в это представление (у Мура оно хранится в блоках) и переводит в отображаемый вид при редактировании.

А один из простейших методов создания образа исполняемого файла под Windows - использовать собственный исполняемый файл как образец. В SPF одно время (не знаю, как сейчас) такой метод был основным, а "правильный метод" висел, но так правильно и не работал ;)

_________________
With best wishes, in4.


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
idem писал(а):
Просто замечу, что ассемблер – это совсем другой язык. Напоминает советские времена, когда при покупке детектива нагружали гантелями в придачу. Если ввести в стандарт его использование, значит нужно вводить еще восемь с лишним тысяч других языков. Чтобы быть последовательным.

Ассемблер - это не просто еще один язык. Это именно то, что компьютер и исполняет.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 24, 2010 16:56 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Хищник писал(а):
Ассемблер - это не просто еще один язык. Это именно то, что компьютер и исполняет.

причем, у каждого процессора он свой ;)
может быть и Форт-ассемблер...

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


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

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
in4 писал(а):
Это уже есть, у ~ac-а b ~profit-а были наработки.

Что-то у них ничего подходящего не обнаружил.
У ~pinka есть кое-что(storage.f), но сходу не заработало.
idem писал(а):
Просто замечу, что ассемблер – это совсем другой язык.

В Форте есть вирт.машина. Инструкции целевой машины можно рассматривать как микрокоманды,
а каждую команду виртуальной машины Форта можно рассматривать как определенную последовательность
микрокоманд.
Таким образом в форте можно иметь доступ как к набору команд виртуальной машины так и к набору микрокоманд.
По-моему это дает преимущество Форту с встроенным форт-ассемблером, по сравнению с Фортом без оного.

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


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

Зарегистрирован: Пн окт 15, 2007 17:24
Сообщения: 164
Откуда: Бийск
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Хищник писал(а):
idem писал(а):
Просто замечу, что ассемблер – это совсем другой язык. Напоминает советские времена, когда при покупке детектива нагружали гантелями в придачу. Если ввести в стандарт его использование, значит нужно вводить еще восемь с лишним тысяч других языков. Чтобы быть последовательным.

Ассемблер - это не просто еще один язык. Это именно то, что компьютер и исполняет.

Компьютер (процессор) исполняет машинный код, а Ассемблер - средство его (машкода) получения, и входной язык для этого средства.

_________________
And so forth ...


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

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

Понятие "ассемблер" используется в двух смыслах - и как машинный код, и как язык программирования, основанный на мнемониках для этого кода.


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Хищник писал(а):
Варнак писал(а):
Компьютер (процессор) исполняет машинный код, а Ассемблер - средство его (машкода) получения, и входной язык для этого средства.

Понятие "ассемблер" используется в двух смыслах - и как машинный код, и как язык программирования, основанный на мнемониках для этого кода.

именно так


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

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
вопрос писал(а):
Хищник писал(а):
Вот решение в духе ТРИЗ: форт должен иметь возможность подгрузить ассемблер

Не знаком с ТРИЗ (пока), но это худшая реализация одного из вариантов выше - минимальность теряется


Если Форт неспособен что-либо подгрузить, то это не Форт вообще.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 222 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11, 12, 13 ... 15  След.

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


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

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


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

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