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

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - FFASM
Автор Сообщение
  Заголовок сообщения:  Re: FFASM  Ответить с цитатой
Пример компиляции Fasm программ в SPF4
Fasm in sp-forth on windows
Код:
WINAPI: fasm_Assemble fasm.dll
2048 CONSTANT bufsize
CREATE buf bufsize ALLOT
REQUIRE STR@      ~ac/lib/str.f
REQUIRE S>ZALLOC  ~nn/lib/az.f

: s1 buf 4 + @ ;
: s2 buf 8 + @ ;
: .err ." error: " s1 . ." line: " s2 4 + @ . ;
: asmerr? 0 <> ;
: assemble >R 0 100 bufsize buf R> STR@ S>ZALLOC fasm_Assemble asmerr? IF .err ELSE s2 s1 THEN ;
: fasm: CREATE ;
: ;fasm assemble DUP HERE SWAP ALLOT SWAP CMOVE> DOES> EXECUTE ;

\ example mmx linear multiply range of vectors by one vector (4 doubles):

fasm: v* ( @first @last @vector -- )
"
use32

movups xmm0, [eax]
mov edx, [ebp]
mov ebx, [ebp+4]

.nextQuad:
movups xmm1, [ebx]
pmulld xmm1, xmm0
movups [ebx], xmm1
lea ebx, [ebx+16]
cmp ebx, edx
jnge .nextQuad

lea ebp, [ebp+12]
retn   
"
;fasm

\  Create an array of quads:

HERE  DUP 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , HERE HERE 1 , 2 , 3 , 4 ,
\  Ok ( 5861216 5861248 5861248 )
v*
48 DUMP
\ 596F60  01 00 00 00 04 00 00 00 09 00 00 00 10 00 00 00 ................
\ 596F70  05 00 00 00 0C 00 00 00 15 00 00 00 20 00 00 00 ............ ...
\ 596F80  01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 ................

\ I figured fasm.dll might be useful for people trying to get at important SIMD instructions.


P.S. FASM.DLL брать здесь
Сообщение Добавлено: Сб мар 19, 2016 05:26
  Заголовок сообщения:   Ответить с цитатой
Mihail писал(а):
Называется "макрос" и есть в оригинальном fasm.

Зачем тогда SPF нужен?

А он в процессе работы fasm и не нужен.
Сообщение Добавлено: Пт окт 03, 2008 20:12
  Заголовок сообщения:   Ответить с цитатой
Гость писал(а):
Возможно ли будет смесь кода написанного на Фасм + SPF
сохранить в exe файл средствами Фасм?


Для этого нужно глубже разобраться с Фасм. Это давольно трудно.
Думаю проще весь Фасм представить в виде мелких процедур, которые будут вызываться
из Форта. После этого разобраться будет гораздо проще.
Пока я думаю подавать загрузочный модуль с MAP-файлом сгенерированнае ФФАСМом
на вход SPF для доработки.

Гость писал(а):
От колибри Форт тоже, похоже, включен.


Я использовал в качестве прототипа Форт из http://fpauk.narod.ru/kbochs3.7z

Хищник писал(а):
Гость писал(а):
Возможно ли будет смесь кода написанного на Фасм + SPF
сохранить в exe файл средствами Фасм?

Называется "макрос" и есть в оригинальном fasm.


Зачем тогда SPF нужен?
Сообщение Добавлено: Пт окт 03, 2008 13:09
  Заголовок сообщения:   Ответить с цитатой
Гость писал(а):
Возможно ли будет смесь кода написанного на Фасм + SPF
сохранить в exe файл средствами Фасм?

Называется "макрос" и есть в оригинальном fasm.
Сообщение Добавлено: Пт окт 03, 2008 09:29
  Заголовок сообщения:   Ответить с цитатой
Может стоит информировать автора fasma и колибристроителей?

P.S. Какие дальнейшие задумки в этом направлении.?
Возможно ли будет смесь кода написанного на Фасм + SPF
сохранить в exe файл средствами Фасм?
От колибри Форт тоже, похоже, включен.
Сообщение Добавлено: Пт окт 03, 2008 07:39
  Заголовок сообщения:   Ответить с цитатой
по любому достижение
Сообщение Добавлено: Чт окт 02, 2008 21:24
  Заголовок сообщения:   Ответить с цитатой
Pretorian писал(а):
Я не понял как это все работает???


Под "FSCRIPT.F подается" я имел в виду "подается автоматически".
В командной строке FFASM.EXE подаются те-же параметры, что и в FASM.EXE
Транслятор ассемблера работает как и работал. Форт вызывается в SOURCE\FWIN32\ffasm.asm
командой call FORTH_ENTRY . В Форте запускается INIT из SOURCE\FWIN32\forth\src\spf_init.f
Командой AUTOEXEC запускает на исполнение файл FSCRIPT.F .
В TST.BAT ffasm.asm собирает сам себя. Если при этом в конец FSCRIPT.F вставить ABORT ,
можно средствами форта исследовать ассемблер.
Сообщение Добавлено: Чт окт 02, 2008 15:46
  Заголовок сообщения:  Re: FFASM  Ответить с цитатой
Mihail писал(а):
Т.о. неважно не только то, что на чем написано, но и что к чему добавлено.


Кудряво сказано :)
Сообщение Добавлено: Чт окт 02, 2008 15:26
  Заголовок сообщения:   Ответить с цитатой
Я не понял как это все работает???
Код:
D:\...й стол\ffasm\FFASM\SOURCE\FWIN32>ffasm.exe FSCRIPT.F
flat assembler  version 1.67.27  (971450 kilobytes memory)
FSCRIPT.F [19]:
BEGIN  DUP  memory_end @ 0x20 - U<= \  KEY  [CHAR] Q <> AND
error: extra characters on line.
Сообщение Добавлено: Чт окт 02, 2008 15:06
  Заголовок сообщения:  FFASM  Ответить с цитатой
В ФАСМ встроил Форт: http://fpauk.narod.ru/ffasm.7z
Теперь с помощью Форта можно вмешиваться в работу ассемблера.
Т.о. неважно не только то, что на чем написано, но и что к чему добавлено.
При объединении форт-системы с другими средствами программирования они становятся
частью форт-системы.
Сообщение Добавлено: Чт окт 02, 2008 14:12

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


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