more clarifications and notes
This commit is contained in:
parent
d6a02946cc
commit
2d0db6fe6f
8
uxntal.1
8
uxntal.1
|
@ -64,7 +64,11 @@ For example the generic effect for \fBADD\fP is ( x y -- x+y ). The eight combin
|
||||||
\fBADD2k\fP ( x* y* -- x* y* x+y* ) sum two shorts using \fBwst\fP, retain arguments
|
\fBADD2k\fP ( x* y* -- x* y* x+y* ) sum two shorts using \fBwst\fP, retain arguments
|
||||||
\fBADD2kr\fP ( [x* y*] -- [x* y* x+y*] ) sum two shorts using \fBrst\fP, retain arguments
|
\fBADD2kr\fP ( [x* y*] -- [x* y* x+y*] ) sum two shorts using \fBrst\fP, retain arguments
|
||||||
|
|
||||||
Thus for regular instructions writing a "generic" effect (leaving sigils off values whose size depends on \fIshort\fP mode) is sufficient to describe its behavior across all eight variations. Note that some instructions always read values of a fixed size. (For example the boolean condition read by \fBJCN\fP is always one byte, no matter what modes are used.)
|
Thus for regular instructions writing a "generic" effect (leaving sigils off values whose size depends on \fIshort\fP mode) is sufficient to describe its behavior across all eight variations. Note that some instructions always read values of a fixed size. For example the boolean condition read by \fBJCN\fP is always one byte, no matter what modes are used.
|
||||||
|
|
||||||
|
In \fIreturn\fP mode the stacks are reversed. Effects on \fBwst\fP will instead affect \fBrst\fP, and effects on \fBrst\fP will instead affect \fBwst\fP. For example, \fBSTH\fP reads a byte from \fBwst\fP and writes it to \fBrst\fP, but \fBSTHr\fP reads a byte from \fBrst\fP and writes it to \fBwst\fP.
|
||||||
|
|
||||||
|
In \fIkeep\fP mode all the values on the left-hand side of the stack effect will also appear on the right-hand side before the outputs. For example, \fBSWP\fP is \fB(x y -- y x)\fP but \fBSWPk\fP is \fB(x y -- x y y x)\fP.
|
||||||
|
|
||||||
.SS INC
|
.SS INC
|
||||||
( x -- x+1 )
|
( x -- x+1 )
|
||||||
|
@ -72,6 +76,8 @@ Thus for regular instructions writing a "generic" effect (leaving sigils off val
|
||||||
.SS POP
|
.SS POP
|
||||||
( x -- )
|
( x -- )
|
||||||
|
|
||||||
|
\fBPOPk\fP is guaranteed to have no effect (it will not change the stack).
|
||||||
|
|
||||||
.SS NIP
|
.SS NIP
|
||||||
( x y -- y )
|
( x y -- y )
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue