Hi Again Martin, A lot of useful information from that link, thanks again. There is a temptation to use C for these core (foundation words - mcu assembly words) since compilers these days can generate very efficient code. The issue is amForth tries to be compatible with the 2012 forth standard whereas other C based forths like ueForth don't. It still makes more sense just to make the adjustments to amForth assembly code keeping in mind the C forth code (looked at) compiled with -S (for the assembler code) may deviate from this standard.
Best Regards, John S On Tue, Jan 13, 2026 at 9:15 AM John Sarabacha <[email protected]> wrote: > Thanks Martin, > That information saves me a lot of time, what I was also thinking of doing > is letting the compiler tell me > how to be compatible, this is where ueForth (being in C) can help, for > each C word compile with -S and > see what the assembly listing looks like and compare this to what the > amForth word has and make the adjustments. > > Thanks again, > John S > > On Tue, Jan 13, 2026 at 8:52 AM Martin Kobetic <[email protected]> wrote: > >> Hi John, >> That is a sweet looking board. I need to resist the urge to get one too. >> I've got plenty that I didn't even use yet :). >> >> I'm not that well versed in ARM yet, but the errors sound like the >> instruction mode >> is being switched around for some reason. Maybe we need to ensure somehow >> that >> it sticks with Thumb? There may also be some issue with interworking, I >> haven't quite >> wrapped my head around that either. A lot to do still. >> >> Some interesting references >> >> https://stackoverflow.com/questions/28669905/what-is-the-difference-between-the-arm-thumb-and-thumb-2-instruction-encodings >> >> https://developer.arm.com/documentation/dui0203/j/interworking-arm-and-thumb/about-interworking >> >> Best regards, >> Martin >> >> On Tue, Jan 13, 2026 at 12:40 AM John Sarabacha <[email protected]> >> wrote: >> >> > Hi Martin, >> > The Cortex-M7 doesn't like the assembler instructions for arm/words, >> some >> > examples: >> > ./words/dup.s:4: Error: Thumb does not support this addressing mode -- >> `str >> > tos,[psp,#-4]!' >> > ./words/nip.s:4: Error: instruction not supported in Thumb16 mode -- >> `adds >> > psp,#4' >> > ./words/abs.s:4: Error: Thumb does not support conditional execution >> > ./words/abs.s:5: Error: incorrect condition in IT block -- `b DO_NEXT >> > >> > Tried different options for the GCC compiler/assembler without success. >> > >> > FYI >> > John S >> > >> > On Mon, Jan 12, 2026 at 1:13 PM John Sarabacha <[email protected]> >> > wrote: >> > >> > > Hi Martin, >> > > Some information on my Cortex-M7 based target platform, Arduino >> > > development environment is being is used >> > > https://www.pjrc.com/store/teensy41.html >> > > >> > > Regards, >> > > John S >> > > >> > > On Mon, Jan 12, 2026 at 12:04 PM John Sarabacha <[email protected] >> > >> > > wrote: >> > > >> > >> Hi Martin, >> > >> I will be trying to host amForth on an arm-m7 (600Mhz) platform which >> > was >> > >> being evaluated a few years ago. I will be using the same process as >> I >> > used >> > >> for CH32X033. Any learning I will pass on, M7 is significantly >> different >> > >> than M4 so by sticking to thumb type instructions there should be >> some >> > >> common issues. >> > >> >> > >> 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
