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

Reply via email to