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.