VFX Forth

0 views
Skip to first unread message

Michael Gasanenko

unread,
Mar 24, 2008, 8:45:03 AM3/24/08
to Forth On TOP @ AMCP
Скачал VFX Forth для Linux от MPE Ltd.

http://www.mpeforth.com/arena.htm#trial

(Там два .deb пакета, просто скачал и dpkg -i
libmpeparser_3.0b-3_i386.deb vfxforth_0.1alpha-9_i386.deb)

На это _стоит_ посмотреть:

: bar 2 3 + . ; ok
see bar
BAR
( 080A1B20 8D6DFC ) LEA EBP, [EBP+-04]
( 080A1B23 895D00 ) MOV [EBP], EBX
( 080A1B26 BB05000000 ) MOV EBX, 00000005
( 080A1B2B E80409FBFF ) CALL 08052434 .
( 080A1B30 C3 ) NEXT,
( 17 bytes, 5 instructions )
ok

Нетрудно видеть, что + выполнен во время компиляции.
EBP -- указатель стека данных, а ESP -- стека возвратов.

Sergey Karakovskiy

unread,
Mar 24, 2008, 8:59:26 AM3/24/08
to Michael Gasanenko
Hello Michael,

Интересно!
уж если + так оптимизируют, то что там с другими операциями.
Обязательно скачаю.
Однако у этого подхода и плюсы свои и минусы.
Плюс, видимо, в быстродействии -- если форт-системы не по шитому коду
бегает, исполняя слова, а исполняет ассемблерный код.
Но минус, как мне кажется в читаемости. Сделали бы тогда уж слово see
с атрибутом "чтения" что ли :) Чтобы программу можно было читать.

--
Best regards,
Sergey mailto:sergey.ka...@gmail.com

Sergey Karakovskiy

unread,
Mar 24, 2008, 9:01:05 AM3/24/08
to Michael Gasanenko
Hello Michael,

А, да.. и где там используется ESP?

А эта строчка вообще клёвая:
CALL 08052434 .

однозначно, пять!

--
Best regards,
Sergey mailto:sergey.ka...@gmail.com

Monday, March 24, 2008, 3:45:03 PM, you wrote:

Michael Gasanenko

unread,
Apr 2, 2008, 9:05:44 AM4/2/08
to Forth On TOP @ AMCP
On 24 мар, 17:01, Sergey Karakovskiy <sergey.karakovs...@gmail.com>
wrote:
> Hello Michael,
>
> А, да.. и где там используется ESP?
>
Там хе написано: С3

code myc3 $c3 code-c, next c; ok
see myc3
MYC3 IS CODE
( $404030 C3 ) ret near

Sergey Karakovskiy

unread,
Apr 2, 2008, 1:53:47 PM4/2/08
to Forth...@googlegroups.com
Ок, а что об этом говорит?

$404030 ?
или ret?
не near точно.

02.04.08, Michael Gasanenko <ml...@yandex.ru> написал(а):

Michael Gasanenko

unread,
Apr 4, 2008, 10:50:33 AM4/4/08
to Forth On TOP @ AMCP
$404030 -- адрес
c3 -- код ret
ret far брало бы пару segment:offset, оно там совсем не нужно.

On 2 апр, 21:53, "Sergey Karakovskiy" <sergey.karakovs...@gmail.com>
wrote:
> Ок, а что об этом говорит?
>
> $404030 ?
> или ret?
> не near точно.
>
> 02.04.08, Michael Gasanenko <m...@yandex.ru> написал(а):
>
>
>
>
>
> > On 24 мар, 17:01, Sergey Karakovskiy <sergey.karakovs...@gmail.com>
> > wrote:
>
> > > Hello Michael,
>
> > > А, да.. и где там используется ESP?
>
> > Там хе написано: С3
>
> > code myc3 $c3 code-c, next c; ok
> > see myc3
> > MYC3 IS CODE
> > ( $404030 C3 ) ret near
>
> --
> Sincerely yours,
> Sergey Karakovskiy
Reply all
Reply to author
Forward
0 new messages