%align
( align size – ) gforth-0.4 “%align”
データ空間ポインターをアラインメント align に整列(align)します。
%alignment
( align size – align ) gforth-0.4 “%alignment”
構造体のアライメント
%alloc
( align size – addr ) gforth-0.4 “%alloc”
サイズ size のアドレス・ユニットをアラインメント align で整列(align)して割り当て、
割り当てたデータ・ブロックのアドレスを addr に返します。 成功しなかった場合は負数の ior を throw
します。
%allocate
( align size – addr ior ) gforth-0.4 “%allocate”
allocate
と同様に、 サイズ size のアドレス単位をアライメント align
で整列(align)して割り当て、 割り当てたデータ・ブロックのアドレスを addr に返します。 成功した場合、 ior=0,
成功しなかった場合は ior<0
%allot
( align size – addr ) gforth-0.4 “%allot”
データ空間にサイズ size アドレス単位をアラインメント align で割り当てます。 結果のデータ・ブロックのアドレスを addr に返します。
cell%
( – align size ) gforth-0.4 “cell%”
\訳注: セル1つ分のサイズ size と、 サイズをアライメントした align を返す
char%
( – align size ) gforth-0.4 “char%”
\訳注: char 1つ分のサイズ size と、 そのサイズをアライメントした align を返します
dfloat%
( – align size ) gforth-0.4 “dfloat%”
double%
( – align size ) gforth-0.4 “double%”
\訳注: 2倍長整数1つ分のサイズ size と、サイズをアライメントした align を返します
end-struct
( align size "name" – ) gforth-0.2 “end-struct”
アライメント align とサイズ size を使用して 構造体/型記述子 name
を定義します(size は align の倍数になるように切り上げられます – size1)。 name
実行時: ( – align size1)
field
( align1 offset1 align size "name" – align2 offset2 ) gforth-0.2 “field”
オフセット offset1 と align size で指定された型を持つフィールド name を作成します。
offset2 は次のフィールドのオフセットで、align2 は、 (そこまでの)すべてのフィールドのアライメントです。
name
の実行時: ( addr1 – addr2 )
addr2=addr1+offset1
float%
( – align size ) gforth-0.4 “float%”
sfloat%
( – align size ) gforth-0.4 “sfloat%”
%size
( align size – size ) gforth-0.4 “%size”
構造体のサイズを返す
struct
( – align size ) gforth-0.2 “struct”
空の構造体。 構造体定義を開始するために使用されます。