Next: Forth200x Structures, Previous: Structure Implementation, Up: Structures
%align align size – gforth “%align”
Align the data space pointer to the alignment align.
%alignment align size – align gforth “%alignment”
The alignment of the structure.
%alloc align size – addr gforth “%alloc”
Allocate size address units with alignment align,
giving a data block at addr; throw an ior code
if not successful.
%allocate align size – addr ior gforth “%allocate”
Allocate size address units with alignment align,
similar to allocate.
%allot align size – addr gforth “%allot”
Allot size address units of data space with alignment align; the resulting block of data is found at addr.
cell% – align size gforth “cell%”
char% – align size gforth “char%”
dfloat% – align size gforth “dfloat%”
double% – align size gforth “double%”
end-struct align size "name" – gforth “end-struct”
Define a structure/type descriptor name with alignment
align and size size1 (size rounded up to be a
multiple of align).
name execution: – align size1
field align1 offset1 align size "name" – align2 offset2 gforth “field”
Create a field name with offset offset1, and the type
given by align size. offset2 is the offset of the
next field, and align2 is the alignment of all fields.
name execution: addr1 – addr2.
addr2=addr1+offset1
float% – align size gforth “float%”
naligned addr1 n – addr2 gforth “naligned”
addr2 is the aligned version of addr1 with respect to the alignment n.
sfloat% – align size gforth “sfloat%”
%size align size – size gforth “%size”
The size of the structure.
struct – align size gforth “struct”
An empty structure, used to start a structure definition.