表 4-9 に示すコマンドはアドレス演算を行います。
表 4-9 アドレス演算機能
コマンド |
スタックダイアグラム |
説明 |
---|---|---|
aligned |
( n1 -- n1 | a-addr) |
必要な場合、n1 大きくして可変境界アドレスを生じます。 |
/c |
( -- n ) |
バイトのアドレス単位数 : 1。 |
/c* |
( nu1 -- nu2 ) |
chars の同義語。 |
ca+ |
( addr1 index -- addr2 ) |
addr1 を/c の値の index 倍増やします。 |
ca1+ |
( addr1 -- addr2 ) |
char+ の同義語。 |
cell+ |
( addr1 -- addr2 ) |
addr1 を /n の値だけ増やします。 |
cells |
( nu1 -- nu2 ) |
nu1 に /n の値を掛けます。 |
char+ |
( addr1 -- addr2 ) |
addr1 を /c の値だけ増やします。 |
chars |
( nu1 -- nu2 ) |
nu1 に /c の値を掛けます。 |
/l |
( -- n ) |
quadlet のアドレス単位数 : 通常 4。 |
/l* |
( nu1 -- nu2 ) |
nu1 に /l の値を掛けます。 |
la+ |
( addr1 index -- addr2 ) |
addr1 を/l の値の index 倍増やします |
la1+ |
( addr1 -- addr2 ) |
addr1 を /l の値だけ増やします。 |
/n |
( -- n ) |
セルのアドレス単位数。 |
/n* |
( nu1 -- nu2 ) |
cells の同義語。 |
na+ |
( addr1 index -- addr2 ) |
addr1 を/n の値 index 倍増やします。 |
na1+ |
( addr1 -- addr2 ) |
cell+ の同義語。 |
/w |
( -- n ) |
doublet のアドレス単位数 : 通常 2。 |
/w* |
( nu1 -- nu2 ) |
nu1 に /w の値を掛けます。 |
wa+ |
( addr1 index -- addr2 ) |
addr1 を /w の値の index 倍増やします。 |
wa1+ |
( addr1 -- addr2 ) |
addr1 を /w の値だけ増やします。 |
表 4-10 に示すアドレス演算用コマンドは 64 ビットの OpenBoot 実装専用です。
表 4-10 64 ビットアドレス演算機能
コマンド |
スタックダイアグラム |
説明 |
---|---|---|
/x |
( -- n ) |
octlet のアドレス単位数 : 通常 8。 |
/x* |
( nu1 -- nu2 ) |
nu1 に /x の値を掛けます。 |
xa+ |
( addr1 index -- addr2 ) |
addr1 を /x の値の index 倍増やします。 |
xa1+ |
( addr1 -- addr2 ) |
addr1 を /x の値だけ増やします。 |