OpenBoot 3.x の手引き

単精度演算機能

表 1-21 単精度演算機能

*

( 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 )

ビット単位の論理積。AND

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 )

n1n2 の大きい方の値が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 )

ビット単位の論理和。 OR

wbsplit

( word -- b.low b.hi )

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

wljoin

( w.low w.hi -- long )

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

xor

( n1 n2 -- n3 )

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