Numeric I/O defaults to hexadecimal.
Switch to decimal with decimal, switch to hexadecimal with hex.
Use 10 .d to see which base is currently active.
A numeric stack is used for all numeric parameters. Typing any integer puts that value on top of the stack. (Previous values are "pushed" down.) The right-hand item in a set always indicates the topmost stack item.
The command "." removes and displays the top stack value.
The command .s non-destructively shows the entire stack contents.
A stack comment such as (n1 n2 -- n3) or (adr len --) or (--) listed after each command name shows the effect on the stack of executing that command. Items before the -- are used by the command and removed from the stack. These items must be present on the stack before the command can properly execute. Items after the -- are left on the stack after the command completes execution, and are available for use by subsequent commands.
Table 1-18 Numeric Usage and Stack Commands
| |
Alternate stack results. Example: ( input -- adr len false | result true ). |
? |
Unknown stack items (changed from ???). |
??? |
Unknown stack items. |
acf |
Code field address. |
adr |
Memory address (generally a virtual address). |
adr16 |
Memory address, must be 16-bit aligned. |
adr32 |
Memory address, must be 32-bit aligned. |
adr64 |
Memory address, must be 64-bit aligned. |
byte bxxx |
8-bit value (smallest byte in a 32-bit word). |
char |
7-bit value (smallest byte), high bit unspecified. |
cnt/len/size |
Count or length. |
flag xxx? |
0 = false; any other value = true (usually -1). |
long Lxxx |
32-bit value. |
n n1 n2 n3 |
Normal signed values (32-bit). |
+n u |
Unsigned, positive values (32-bit). |
n[64] or (n.low n.hi) |
Extended-precision (64-bit) numbers (2 stack items). |
phys |
Physical address (actual hardware address). |
pstr |
Packed string (adr len means unpacked string). |
virt |
Virtual address (address used by software). |
word wxxx |
16-bit value (smallest two bytes in a 32-bit word). |