Posted: Sat Apr 15, 2006 6:25 pm
build.bat запускает:
spf4.exe src/gspf.f S" img.asm" TSAVE CR BYE
Это генератор img.asm
img.asm содержит ассемблерный код полученный в результате компиляци
исходных текстов на форте в каталоге src\ .
Форт на форте представляет собой набор форт-определений доступных для вызова в рантайме
форт-системы полученной в результате компиляции.
Т.е. в файл, на пример, KolSPForth.4\src\spf_last.f добавляем строку
: HI ." HILLO!" :
компилилуем систему.
запускаем
набираем spf <вк> для запуска моего форта.
там HI . <вк> - возврат каретки.
Я допустил ошибку
в файле KolSPForth.4\src\compiler\spf_translate.f
Фрагмент
: INCLUDED_ ( i*x c-addr u -- j*x ) \ 94 FILE
BLK @ 0=
Надо заменить на
: INCLUDED_ ( i*x c-addr u -- j*x ) \ 94 FILE
MEBLK @ 0=
К стати, полезно это определение сопоставить с
INCLUDED (c-addr, u -- )
в KolSPForth.4\meforth.asm
ЗЫ: Я хотел для инклюде аллокировать память под исполняемый файл
но системная функция 68 эмулятором не поддерживается.
Я задумал сам определить функцию аллокирования.
Оказалось что нет доступа к памяти эмулятора из приложения.
spf4.exe src/gspf.f S" img.asm" TSAVE CR BYE
Это генератор img.asm
img.asm содержит ассемблерный код полученный в результате компиляци
исходных текстов на форте в каталоге src\ .
Форт на форте представляет собой набор форт-определений доступных для вызова в рантайме
форт-системы полученной в результате компиляции.
Т.е. в файл, на пример, KolSPForth.4\src\spf_last.f добавляем строку
: HI ." HILLO!" :
компилилуем систему.
запускаем
набираем spf <вк> для запуска моего форта.
там HI . <вк> - возврат каретки.
Я допустил ошибку
в файле KolSPForth.4\src\compiler\spf_translate.f
Фрагмент
: INCLUDED_ ( i*x c-addr u -- j*x ) \ 94 FILE
BLK @ 0=
Надо заменить на
: INCLUDED_ ( i*x c-addr u -- j*x ) \ 94 FILE
MEBLK @ 0=
К стати, полезно это определение сопоставить с
INCLUDED (c-addr, u -- )
в KolSPForth.4\meforth.asm
ЗЫ: Я хотел для инклюде аллокировать память под исполняемый файл
но системная функция 68 эмулятором не поддерживается.
Я задумал сам определить функцию аллокирования.
Оказалось что нет доступа к памяти эмулятора из приложения.