Re: pre-announcing Forth for PIC18F chips
David McNab <[email protected]> Wed, 19 Jan 2005 18:07:18 +1300
| Newsgroups | gmane.comp.lang.forth.picforth,gmane.comp.hardware.microcontrollers.gnupic |
|---|---|
| Message-ID | <[email protected]> |
[email protected] wrote: > Is there any (PIC18) Forth language documents available? Sorry - the only 'language documents' existing at the moment are the forth and assembler source files. I know how rude it is to tell users to RTFS, so I'll write a reasonable manual before doing the release. At the moment, code is stable and getting better, and I'm doing some tidy-ups before writing the doco and demo progs. Looking at first pre-alpha release in 1-2 weeks. Cheers David > > Thank you! > > - Mengjin - > > -----Original Message----- > From: David McNab [mailto:[email protected]] > Sent: Sunday, January 16, 2005 6:04 AM > To: [email protected]; [email protected] > Subject: pre-announcing Forth for PIC18F chips > > > Hi gnupic and picforth people, > > This is a pre-announcement of a coming Forth compiler for the PIC18Fxxx > chips. I've tentatively called it 'PIC18forth', but am open to > suggestions for a better name. > > PIC18forth is radically different from the PIC16Fxxx-only PicForth > compiler. Almost nothing in common, since I've written PIC18forth from > scratch. > > Quick summary of features - love them and loathe them: > > * signed/unsigned 16-bit data cells and operators > * software return stack > * data stack grows up (increasing addresses), while > return stack grows down (decreasing addresses) > * total allocated size of data+return stacks can > be set to anything between 16 and 1024 bytes > * compiler is written in Python, and is very approachable > and extensible, even for people new to the code > * integrated into gputils > * forth sources get compiled to relocatable assembly (.asm) > sources, ready for gpasm and gplink > * the generated code embeds a 16-bit forth vm (token threaded > execution model) which executes bytecodes > * the generated code is self-contained, and once assembled > and linked, can be downloaded/flashed as a standalone program > * FSR0 is usually used for data stack ptr, FSR1 usually > used as return stack ptr, FSR2 used as general purpose > pointer > * full support for locals (John Hopkins syntax, data > gets transferred from data stack to a frame on return stack > * vm design favours code density over execution speed > * contents of 'code .. end-code' definitions are included > verbatim in generated assembly source (with '\' comments > changed to ';') > * the defining-words 'primitive .. end-primitive' can be > used in place of 'code .. end-code', to define a word > in assembler which will be available as a single-byte > vm instruction - easy to add/remove primitives at will > * maps to von Neumann memory model, with addresses <8000H > treated as RAM addresses, and addresses>=8000H treated > as program ROM addresses > > If you're currently hacking with PIC18Fxxx chips, and are interested in > trying out PIC18forth, please mail me and I'll put you on a list for > pre-alpha-testers. >