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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 94 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Автор Сообщение
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вт апр 28, 2015 10:30 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:04, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вт апр 28, 2015 13:38 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:04, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вт апр 28, 2015 14:15 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
Так глубоко я не думал. Я как бы прислушиваюсь к своей интуиции, а она мне говорит, что нужно Форт втащить в D. В отличии от скриптовых (Ruby, Lua и т.д.) SPF-Fork - генерирует настоящий машинный код. Фактически, это носимый "карманный" компилятор.
Я проводил эксперименты с подключением "скриптовых" языков. Очень хотел подключить Ruby, но оказалось это не тривиальной задачей (тот самый гигантизм), когда я пытался объединить D + Ruby + Qt. Пробовал Lua - работает, но язык Lua мне не понравился (может по незнанию). В общем, для решения моих утилитарных задач (а я сейчас программированием зарабатываю на хлеб) мне не хватает "скриптовости" и возможности полазить по "нутру" D. Например, я все мозги сломал, как перекрыть виртуальную функцию в Qt не прибегая к компилятору C++.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вт апр 28, 2015 14:39 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:04, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вт апр 28, 2015 18:56 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:04, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Ср апр 29, 2015 02:10 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:05, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Ср апр 29, 2015 11:42 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:05, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Ср апр 29, 2015 18:15 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:05, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Ср апр 29, 2015 20:42 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:05, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Чт апр 30, 2015 19:52 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:06, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Чт апр 30, 2015 21:29 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:06, всего редактировалось 3 раз(а).

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Чт апр 30, 2015 21:33 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
mOleg писал(а):
Посему, предлагаю разделить тему на две, убрав, ээ, перепалки с gudleifr в отдельную тему.

Пока рано. Иногда проскакивают мысли интересные. Только форма подачи тяжелая и витиеватая, но это характер.

Литералы и прочая D ерунда, не представляют сложностей. Вернее, один из моментов в том, что Форк как раз и нужен для изучения внутренностей D. Может я и не получу того Форк, как он есть (пример с Qt, я же не смог вставить весь Qt в Fort или D, но это мне не мешает пользоваться своей разработкой (QtE), причем для коммерческих проектов) в классическом понимании. Например под вопросом целевая компиляция, не копировать же D "кусок". Опять же ввод вывод вполне можно в D убрать ну и т.д. Потом много зависит от задачи, будет цель, будет и решение. Кстати собственное обучение - один из моментов, ведь люди на этом форуме - настоящие эксперты у которых не грех и поучится.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Чт апр 30, 2015 23:56 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
gudleifr писал(а):
(CALL, в 16- и 32- разрядном коде, может быть трех видов: байтовый (short) - относительный, словный (near) - относительно начала сегмента, двусловный (far) - тоже абсолютный. Обычно все используют near, а сегменты выставляют на все 4Гб 32-разрядной памяти, что делает его абсолютным).

Впрочем, если я вам мешаю, то лучше пишите в личку, когда возникнет потребность, а здесь пусть вещают наши манагеры.

Я думаю, манагеры могли бы навещать, что представленные варианты адресации существуют никак не для CALL, а для JMP. А для call наиболее распространены rel16/rel32, а байтовых вызовов подпрограмм вообще не существует. Абсолютный call действительно имеется, но т.н. near автоматически использует разрядность смещения, совпадающую с режимом работы процессора, поэтому в 32-разрядном режиме это как раз и будет 32 бита. Абсолютные форматы вызова используются в основном в привилегированном режиме работы для передачи управления между задачами или в системные функции (т.е. все равно, по сути, в другую задачу). В этом случае первая часть (т.е., к примеру, 16:32) - это вовсе не старшая часть, а номер селектора. Так сложно сделано потому, что в защищенном режиме уже не напастись полей, поэтому области памяти задач описываются сложной структурой-дескриптором. Дескрипторы имеют фиксированный размер, и вот их номер в специальной таблице и хранится в регистрах CS/DS/ES/SS/FS/GS. В данном случае неактуально на 99%, поэтому можно просто писать 0xE8 xx yy zz ww (четыре байта смещения, 0 == не переходить никуда).

И да, call near отсчитывает смещение не относительно начала сегмента, а относительно следующей команды. Есть варианты call indirect, например, call eax, тогда в eax надо загрузить сам адрес перехода.

Например:
http://x86.renejeschke.de/html/file_module_x86_id_26.html
То, что коды команд совпадают, относится как раз к разнице между 16 и 32-битными режимами. С давних времен про 16-битный можно забыть. При особой необходимости можно использовать специальный префикс замены адреса (однобайтный код 0x67), который в 32-битном режиме заставит использовать 16-битное смещение (и наоборот), но на практике это имеет очень слабую актуальность.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Пт май 01, 2015 03:11 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
mgw писал(а):
Меня волнует насколько полно можно повторить Форк. .

А если посмотреть шире, то насколько можно раскрутить "произвольный" Форт.

P.S. Один вариант делался раскрутки Win32Forth из SPF4 Максимом.
Неплохо, наверное, раскрутить Форт в рамках Delphi, в окружении HiAsm проекта.
Есть и "некоторый" (почти полный) реверс VFX можно и его раскрутить в рамках некоторого "окружения" :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Сб май 02, 2015 19:07 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
gudleifr писал(а):
Кроме того, сильно рекомендую пересмотреть Мура. Он же там обосновывал, что, почему и в каком порядке делать до самых мелочей.

Можно поточнее ссылку? Или хотя бы намек на название статьи Мура?

_________________
With best wishes, in4.


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

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


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

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


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

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