表 4-7 に示すコマンドはデータ型の変換を行います。
表 4-7 32 ビットデータ型変換機能|
コマンド |
スタックダイアグラム |
説明 |
|---|---|---|
| bljoin |
( b.low b2 b3 b.hi -- quad ) |
4 バイトを結合して quadlet (32 ビット) を作ります。 |
| bwjoin |
( b.low b.hi -- word ) |
2 バイトを結合して doublet (16 ビット) を作ります。 |
| lbflip |
( quad1 -- quad2 ) |
quadlet 内の 4 バイトを逆に並べ替えます。 |
| lbsplit |
( quad -- b.low b2 b3 b.hi ) |
quadlet を 4 バイトに分割します。 |
| lwflip |
( quad1 -- quad2 ) |
quadlet 内の 2 つの doublet をスワップします。 |
| lwsplit |
( quad -- w.low w.hi ) |
quadlet を 2 つの doublet に分割します。 |
| wbflip |
( word1 -- word2 ) |
doublet 内の 2 バイトをスワップします。 |
| wbsplit |
( word -- b.low b.hi ) |
doublet を 2 バイトに分割します。 |
| wljoin |
( w.low w.hi -- quad ) |
2 つの doublet を結合して quadlet を作ります。 |
表 4-8 に示すデータ型変換用コマンドは 64 ビットの OpenBoot 実装専用です。
表 4-8 64 ビットデータ型変換機能|
コマンド |
スタックダイアグラム |
説明 |
|---|---|---|
|
bxjoin |
( b.lo b.2 b.3 b.4 b.5 b.6 b.7 b.hi -- o ) |
8 バイトを結合して octlet を作ります。 |
|
lxjoin |
( quad.lo quad.hi -- o ) |
2 つの quadlet を結合して octlet を作ります。 |
|
wxjoin |
( w.lo w.2 w.3 w.hi -- o ) |
4 つの doublet を結合して octlet を作ります。 |
|
xbflip |
( oct1 -- oct2 ) |
octlet 内の 8 バイトを逆に並べ替えます。 |
|
xbsplit |
( o -- b.lo b.2 b.3 b.4 b.5 b.6 b.7 b.hi ) |
octlet を 8 バイトに分割します。 |
|
xlflip |
( oct1 -- oct2 ) |
octlet 内の 2 つの quadlet をスワップします。各 quadlet 内の 4 バイトは逆に並べ替えられません。 |
|
xlsplit |
( o -- quad.lo quad.hi ) |
octlet を 2 つの quadlet に分割します。 |
|
xwflip |
( oct1 -- oct2 ) |
octlet 内の 4 つの doublet を逆に並べ替えます。各 doublet 内の 2 バイトは並べ替えられません。 |
|
xwsplit |
( o -- w.lo w.2 w.3 w.hi ) |
octlet を 4 つの doublet に分割します。 |