目次
前
次
文字出力
Forthのスクリプトの中で、文字列を表示するには
ワード「." "」を利用します。
ワード「." "」では、文字列を1個のスペースを挿入して
入力します。また、ダイレクトモードでは使えないので
必ずワードの中に入れます。
端末に対して、1文字を返すには、ワード「emit」を使います。
次のワードで確認してみます。
: testa 10 0 do i $30 + emit loop ;
ワードを定義して、動かしてみると以下。
英大文字と英小文字をテストするには、次のワードを利用。
: tstc $5B $41 do i emit loop ;
: tst $7B $61 do i emit loop ;
ワードを入力して動作確認すると、以下。
英字と数字は、ワードを定義して確認できました。
端末ではASCIIコードを利用しているので、'*'を表示
するには、スタックに42($2A)を入れて、ワード「emit」
で出力すれば、よいはず。
実験してみると、以下。
数字であれば、対応するASCIIコードを
ワード「.digit」を利用して変換できます。
数字の1と9で確認。
数字の'1'は、16進数で$31で10進数で49
数字の'9'は、16進数で$39で10進数で57。
間違いなく、変換されています。
メモリの一部のエリアを配列とみなして、その中に
1バイトずつ文字定数を設定し、ワード「emit」を使い
表示すれば文字出力が実現できます。
配列に関しては、後のページで説明しましょう。
配列(メモリエリア)を確保し、その中に文字コードを
埋め込んで表示してみます。
4文字分のコードを入力。
配列の中から1文字ずつ取り出して表示。
メモリの中に配列を用意しておいて、そこに
文字コードを格納し、ワード「emit」の利用で
1文字ずつ表示すれば、文字列出力と等価に
なると、わかります。
新しいワードを定義して、表示したい文字数を
与えてみてもよいでしょう。
目次
前
次