Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!ucbvax!UICVMC.BITNET!UWC6NTG From: UWC6NTG@UICVMC.BITNET (Nicholas Geovanis 312-996-0590) Newsgroups: comp.lang.forth Subject: (none) Message-ID: <8906261431.AA14584@jade.berkeley.edu> Date: 25 Jun 89 14:57:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: Forth Interest Group International List Organization: The Internet Lines: 29 > >o Does a 32-bit FORTH imply that a 16-bit data type is not > available? >o How are 16-bit loads & stores implemented? > (perhaps S! and S@ ?!) >o How are character strings stored in memory? > (4 characters per word, or 1 character and 3 chars free) >o Is there any standard for 32-bit FORTHS out there? I wrote a 32-bit FORTH interpreter for VM/CMS as an independent study project a couple years back. My answers to these questions were: 1) Although S/370 architecture has a full set of arithmetic operators for halfwords (16-bit words), in my experience they aren't really used very often. I saw no reason to implement FORTH primitives for them. Incidentally, I wrote the fetch and store words such that fullword alignment was unnecessary for arithmetic. The stack was so aligned. 2) There were none, as above. One could use the standard FORTH string operators if one simply wants to plunk down a couple bytes. 3) I stored my characters four per word. The historical/architectural rationale for "one-character-per-word" does not apply in the S/370 world, and probably not in, say, the 68000 world. 4) I did my best to adhere to the FORTH-79 standard (OK, I hear the cheers. FORTH-83 wasn't as well accepted then as it is now), simply ignoring the so-called two-byte arithmetic operators. If you ignore the fact that the 8-bit word and the 64K addressability are written into the '79 standard, the words themselves are pretty implementation-independent. Just make the stack, arithmetic words, etc., work with 32-bit words. NickGeovanis - UWC6NTG@UICVMC