OpenBoot 3.x の手引き

単精度演算機能

表 1-22 単精度演算機能

*

( n1 n2 -- n3 )

n1 * n2 の乗算を行います。

+

( n1 n2 -- n3 )

n1 + n2 の加算を行います。

-

( n1 n2 -- n3 )

n1 - n2 の減算を行います。

/

( n1 n2 -- quot )

n1/n2 の除算を行います。剰余は捨てられます。

lshift

( n1 +n -- n2 )

n1 を +n ビット左へシフトします。

rshift

( n1 +n -- n2 )

n1 を +n ビット右へシフトします。

>>a

( n1 +n -- n2 )

n1 を +n ビット算術右シフトします。

abs

( n -- u )

絶対値。 

and

( n1 n2 -- n3 )

ビット単位の論理積。 

bounds

( n cnt -- n+cnt n )

do または ?do ループ用に引数を用意します。

bljoin

( b.low b2 b3 b.hi -- long )

 4 バイトを結合して、32 ビットのロングワードを生じます。

bwjoin

( b.low b.hi -- word )

2 バイトを結合して、16 ビットのワードを生じます。 

lbsplit

( long -- b.low b2 b3 b.hi )

32 ビットのロングワードを 4 バイトに分割します。 

lwsplit

( long -- w.low w.hi )

32 ビットのロングワードを 2 つの 16 ビットワードに分割します。 

max

( n1 n2 -- n3 )

n1 n2 の大きい方の値が n3 に入ります。

min

( n1 n2 -- n3 )

n1n2 の小さい方の値が n3 に入ります。

mod

( n1 n2 -- rem )

n1/n2 の剰余。

negate

( n1 -- n2 )

n1 の符号を変更します。

invert

( n1 -- n2 )

n1 のすべてのビットを反転します。

or

( n1 n2 -- n3 )

ビット単位の論理和。 

wbsplit

( word -- b.low b.hi )

16 ビットワードを 2 バイトに分割します。 

wljoin

( w.low w.hi -- long )

2 つの 16 ビットのロングワードを結合して、1 つの 32 ビットロングワードを生じます。 

xor

( n1 n2 -- n3 )

ビット単位の排他的論理和。