FWIW the Forth standard seems to back my interpretation based on the prescribed test results https://forth-standard.org/standard/core/Zeroless. Funnily the textual description of the word seems to be completely wrong in the standard, what a wonderful mess :)
On Tue, Dec 23, 2025 at 9:58 AM Martin Kobetic <[email protected]> wrote: > Thank you both for looking into this. I'll respond to many other points > separately, but I want to address what's possibly my misunderstanding of > the intent of the 0< word. My interpretation of it was that it literally > means "is positive" i.e. 0 < tos. It seems that it is meant to be "is > non-negative" i.e. 0 <= tos ? > > On Tue, Dec 23, 2025 at 4:04 AM <[email protected]> wrote: > >> # -------------------------------------- >> CODEWORD "0<", ZEROLESS # ( n -- ? ) >> # -------------------------------------- >> srai x3, x3, 31 >> NEXT >> >> This is correct for RV32. My RISC-V codebase has the >> similar code (different register) and gives the >> following for the usual suspects. >> >> AmForth-RV 7.0 RV32IMAFC WCH CH32V307 C+ASM >> Tue 15 Oct 2024 11:52:30 BST >> > 1 0< . \ correct >> 0 ok \ ... >> > -1 0< . \ correct >> -1 ok \ ... >> > 0 0< . \ correct >> 0 ok \ ... >> > > In my interpretation I'd expect 0 <0 to yield -1 not 0. Maybe that's where > I am wrong? > > Cheers, > > Martin > _______________________________________________ Amforth-devel mailing list for http://amforth.sf.net/ [email protected] https://lists.sourceforge.net/lists/listinfo/amforth-devel
