Hi George,
I am encouraged that at least one person is reading these emails. I prefer
assembler coding over other languages (many of them), I have done it for
many years. My only problem was that I would go back to programs that I
originally wrote and be scratching my head and saying to myself "what the
heck was I doing here?". One humorous point, one time I was trying to fix
someone else's assembly code (many years ago now) and as I was shifting
through his code the original author commented "if you are reading this
comment you are in deep trouble" in terms of a fix.
For me forth is the next step above assembler.

Regards,
John S


On Fri, Jan 30, 2026 at 2:33 AM John Sarabacha <[email protected]> wrote:

> Hi again George,
> I agree that you're better off with an assembler version of forth. The C
> code with the abstraction layer is for the benefit of  the cross-compiler
> which generates the assembler code for your forth. You don't need C on your
> target machine, you can still have pure assembly.
>
> Regards,
> John S
>
> On Fri, Jan 30, 2026 at 2:05 AM John Sarabacha <[email protected]>
> wrote:
>
>> Hi George,
>> I welcome your comment on this. I have used this method already  it can
>> generate the same machine instructions
>> as an assembler would, it uses asm(...) within C code, the cross-compiler
>> passes it along to the assembler part of the tool chain. It is quite common
>> to do this to improve performance  within C code.
>>
>> Regards,
>> John S
>>
>> On Thu, Jan 29, 2026 at 11:37 PM George H <[email protected]>
>> wrote:
>>
>>> Well, use of an abstraction layer in the C compiler tends to have some
>>> sort
>>> of unstated simplification involved.
>>>
>>> That may offer wide portability via cross compilers, but they adopt code
>>> that isnt as close to the target cpu as possible.
>>>
>>> C compolers are in a merry chase to keep up with ever changing new
>>> hardware.
>>>
>>> That has always been the dilemma of assembler code Forth versus Code
>>> Forth.
>>>
>>> For some, Forth is ideally best in hardware specific assembler.
>>>
>>> It is an endless debate.
>>>
>>>
>>>
>>> On Fri, Jan 30, 2026, 12:24 John Sarabacha <[email protected]> wrote:
>>>
>>> > Some clarification, even though C is being used in the builds, it
>>> generates
>>> > an assembler based AmForth target. It doesn't need C on the target (but
>>> > could use it if you want).  The C macros are used by the
>>> cross-compiler to
>>> > generate the assembler based target build. The portability comes from
>>> the
>>> > abstraction layer for the mcu which generates mcu assembler code by the
>>> > cross-compiler. There can be an abstraction layer for the mcu of
>>> interest
>>> > (riscv, arm, xtensa, i386, ...).
>>> > The AmForth code base can become more maintainable, extensible and used
>>> > more easily for other targets (portability).
>>> >
>>> > Regards,
>>> > John S
>>> >
>>> > On Thu, Jan 29, 2026 at 10:59 AM John Sarabacha <[email protected]>
>>> > wrote:
>>> >
>>> > > Hi Everyone,
>>> > > Those interested in these new developments, please let me know if you
>>> > have
>>> > > trouble downloading from
>>> > > dedicatedcomputer.ca/test
>>> > > there should be at least 2 files zipped, macros.h and dict_prims.c
>>> > >
>>> > > Regards,
>>> > > John S
>>> > >
>>> > > On Wed, Jan 28, 2026 at 4:49 PM John Sarabacha <[email protected]
>>> >
>>> > > wrote:
>>> > >
>>> > >> Hi Tristan,
>>> > >> The main problem with the portable C approach for forth is that the
>>> > >>  interpreter (ITC) consumes a lot of mcu cycles so you need
>>> assembler
>>> > >> code at
>>> > >> some point to compensate. With just C this problem is amplified even
>>> > when
>>> > >> optimized.
>>> > >>
>>> > >> Regards,
>>> > >> John S
>>> > >>
>>> > >>
>>> > >> On Wed, Jan 28, 2026 at 4:25 PM John Sarabacha <
>>> [email protected]>
>>> > >> wrote:
>>> > >>
>>> > >>> Hi Tristan,
>>> > >>> This is interesting, they use portable C for forth, whereas my
>>> approach
>>> > >>> is to use portable C to deliver assembler code for forth, by
>>> creating
>>> > an
>>> > >>> abstraction layer for the mcu. This allows you to interface C
>>> routines
>>> > and
>>> > >>> keep the performance of assembly code.
>>> > >>>
>>> > >>> Regards,
>>> > >>> John S
>>> > >>>
>>> > >>>
>>> > >>> On Wed, Jan 28, 2026 at 2:15 PM <[email protected]> wrote:
>>> > >>>
>>> > >>>> Hi John,
>>> > >>>>
>>> > >>>> Interesting.
>>> > >>>>
>>> > >>>> A different target in that of an embedded mcu, but perhaps some
>>> > >>>> parallels with ATLAST [1]. The links in the Documentation section
>>> (of
>>> > >>>> [1]) give an interesting history and rationale.
>>> > >>>>
>>> > >>>> Best wishes,
>>> > >>>> Tristan
>>> > >>>>
>>> > >>>> [1] https://github.com/Fourmilab/atlast?tab=readme-ov-file
>>> > >>>>
>>> > >>>>
>>> > >>>> On 2026-01-23 18:40, John Sarabacha wrote:
>>> > >>>> > Hi Everyone,
>>> > >>>> > For using ITC and DTC based forth code the next step is making
>>> > >>>> AmForth
>>> > >>>> > more
>>> > >>>> > portable.
>>> > >>>> > Any platform that supports C will be able to use amForth (as a
>>> > >>>> > subsystem).
>>> > >>>> > The terminology that I am using is that  AmForth is the full
>>> > >>>> > independent
>>> > >>>> > system and amForth is a subsystem based on AmForth.
>>> > >>>> > The 1st step is moving the primary words to a form which is more
>>> > >>>> > portable
>>> > >>>> > across
>>> > >>>> > platforms using asm(...) calls with a C infrastructure. Then
>>> using
>>> > >>>> this
>>> > >>>> > as
>>> > >>>> > a foundation for all the words.
>>> > >>>> >
>>> > >>>> > Regards,
>>> > >>>> > John S
>>> > >>>> >
>>> > >>>> > _______________________________________________
>>> > >>>> > Amforth-devel mailing list for http://amforth.sf.net/
>>> > >>>> > [email protected]
>>> > >>>> > https://lists.sourceforge.net/lists/listinfo/amforth-devel
>>> > >>>>
>>> > >>>>
>>> > >>>> _______________________________________________
>>> > >>>> Amforth-devel mailing list for http://amforth.sf.net/
>>> > >>>> [email protected]
>>> > >>>> https://lists.sourceforge.net/lists/listinfo/amforth-devel
>>> > >>>>
>>> > >>>
>>> >
>>> > _______________________________________________
>>> > Amforth-devel mailing list for http://amforth.sf.net/
>>> > [email protected]
>>> > https://lists.sourceforge.net/lists/listinfo/amforth-devel
>>> >
>>>
>>> _______________________________________________
>>> Amforth-devel mailing list for http://amforth.sf.net/
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/amforth-devel
>>>
>>

_______________________________________________
Amforth-devel mailing list for http://amforth.sf.net/
[email protected]
https://lists.sourceforge.net/lists/listinfo/amforth-devel

Reply via email to