目次

電卓としての利用(ダイレクトモード)

 Forthインタプリタを利用すると、端末ソフト上で
 電卓としての動作が可能です。

 このモードは、UnixをOSとしている処理系ならシェルと呼び
 BASICを使っているならダイレクトモードという方が、理解
 しやすいかも知れません。

 Forthはスタック操作が基本なので、数値を組込み
 ワードを使って計算できます。

 加減乗除算で用意されている、組込みワードは、以下。

 これらを使って計算させると、次のようになります。



 掌に持って使う電卓との違いは、ワード「.」を利用して
 スタックにある数値を取り出して、表示させないと駄目
 なことでしょう。

 コンピュータでプログラムを書くとき、2のべき乗の
 計算が必要なことがあります。シフトを利用して計算
 すれば、よいでしょう。

 論理シフト命令を利用して、計算する例は、以下。



 16進数で表示するために、ワード「hex.」を使えばよいでしょう。

 2の10乗は、1024になるので、16進数だと$400。
 2進数では、%10000000000となります。
 変数に数値を入れたときには、ワード「@」を利用して
 スタックに積んでから、ワード「hex.」で表示します。

 スタック操作がForth言語の基本なので、スタックに
 入っている情報をジャングリングするためのワード
 を確認しておくとよいでしょう。

 これらのなかで、nip、drop、rot、-rot、swap、tuck、over、dupは
 利用頻度が多いので、スタックの変化を図で描けるまでにしておいた
 方がよいでしょう。

 nip

  スタックトップの直下を削除するワード。



 drop

  スタックトップを削除するワード。



 rot

  スタックトップに、スタックトップの2つ下から
  持ってくるワード。



 -rot

  スタックトップに、スタックトップの2つ下に
  持っていくワード。



 swap

  スタックトップと直下を交換するワード。



 tuck

  スタックトップのコピーを、直下の下に
  滑り込ませるワード。



 over

  スタックトップ直下を、スタックトップにコピーするワード。



 dup

  スタックトップのコピーを、スタックトップにするワード。




 これらのスタック操作は、大道芸のジャグリングに
 似ているので、難しいと思えるなら、ジャグリング
 の動画を見てみるとよいでしょう。

 少し複雑なことをしたり、高度な処理をするには
 プログラムモードでワード定義が必要になります。


目次

inserted by FC2 system