OpenBoot 2.x の手引き

単精度演算機能

表 1-22 単精度演算機能

*

( n1 n2 -- n3 ) 

乗算。n1 * n2。

+

( n1 n2 -- n3 ) 

加算。n1 + n2

-

( n1 n2 -- n3 ) 

減算。n1 - n2

/

( n1 n2 -- quot ) 

除算。n1 / n2。剰余は破棄されます。

<<

( n1 +n -- n2 ) 

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

>>

( n1 +n -- n2 ) 

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

>>a

( n1 +n -- n2 ) 

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

abs

( n -- u ) 

絶対値。 

and

( n1 n2 -- n3 ) 

ビット単位の論理積 (AND)

bounds

( startadr len -- endadr startadr ) 

do ループ用に、startadr len を endadr startadr に変換します。

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 ビットのロングワードを分割して、16 ビットのワード 2 つにします。 

max

( n1 n2 -- n3 ) 

n1n2 の大きい方の値を n3 とします。

min

( n1 n2 -- n3 ) 

n1n2 の小さい方の値を n3 とします。

mod

( n1 n2 -- rem ) 

n1 / n2 の剰余。

negate

( n1 -- n2 ) 

n1 の符号を変更します。

not

( n1 -- n2 ) 

ビット単位の 1 の補数。 

or

( n1 n2 -- n3 ) 

ビット単位の論理和 (OR)。

wbsplit

( word -- b.low b.hi ) 

16ビットのロングワードを分割して、2 バイトにします。 

wljoin

( w.low w.hi -- long ) 

2 ワードを結合して、ロングワードにします。 

xor

( n1 n2 -- n3 ) 

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