OpenBoot 2.x Quick Reference

Numeric Usage and Stack Comments

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.

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).