Hello Mattias, Matthias Trute <mtr...@web.de> writes:
> Hello Enoch, > >> Apologies for my insistence but couldn't you achieve the same objective >> of packing as many words as possible into the core via a macro call at >> each word that examines the current "pc" against "AMFORTH_RO_SEG" and >> switches "pc" down when we near the "FLASHEND". This macro is quite >> trivial: > > I've had something similiar in the very first versions (not published). > The major challange was to get the size of the generated code correctly > predicted since > >> >> .equ PACKMAX 100 ;word size limit (arbitrary number for now) > > is ugly. It is no doubt large enough to give enough room but ... > >> In short, I sugget to replace your static loading method (automatic 2k, >> 4k, 8k selection acc to the architecture) with a dynamic one. To overcome my NRWW overflow that is caused by BOOFA's 512W need I added the following macro call before each core_8k.inc .include line: ; include as much as possible in the core .macro icore .if (pc > AMFORTH_RO_SEG) .if (pc > FLASHEND - 64) .org DPSTART .endif .endif .endm While I managed to build (after dict_appl.inc duplicate entries removal pain) I experienced serious compiler hanging. For lack of time I had to Stash... That's a word of caution regarding this reallocation of the asm code reliability... Ignore at your peril. > Would be nice, indeed. Maybe a macro at the top of each word > signalling the generated code size to automatically switch > to the RWW section. Another rich source for errors if not maintained.... > Or a 2nd pass to analyze the map files to generate a optimally layouted > dict-fileset. Assemblers are sooo stupid nowadays... Yes, if someone has the spare time to convert AmForth to GNU binutils avr-as / avr-ld that would nice... Regards, Enoch. ------------------------------------------------------------------------------ Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test & Deployment Start a new project now. Try Jenkins in the cloud. http://p.sf.net/sfu/13600_Cloudbees _______________________________________________ Amforth-devel mailing list for http://amforth.sf.net/ Amforth-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amforth-devel