Subsections

4 [例題10]数値データを文字データに変換

教科書のList5-10のプログラムを例にして,数値データを文字データに変換する方法を説 明する.

4.1 教科書の例

教科書の例のプログラムは,メモリーに格納されている整数データを文字に変換して表示 するものである.表示の約束は,以下の通りである.

ラベルAの数値が最大5桁なのは,それを符号付き整数として取り扱うからである. その場合,1ワードで表現できるのは,-32768〜32767の範囲である.これが5桁で,符号 を合わせると表示に6桁必要になる.実際には図のように,6カラムで負号のみ左端に表示 し,数値は右詰で表示する.

図 5: 教科書のList5-10の数値を文字に変換
\includegraphics[keepaspectratio, scale=1.0]{figure/print.eps}

プログラムの作成方法と動作について,教科書に沿って説明する.

表 3: メインルーチンの汎用レジスターとメモリの内容
GR0 処理すべき数値(処理する毎に桁が減少)
GR1 カウンター(処理する桁を示す)
GR2 除数
GR3 その桁の値(整数)
C4 わり算が必要な桁数
BUFF 文字を格納するメモリーの先頭アドレス
MOJI #0030.これを整数に足せば,その文字コードになる.
WORK 以前の桁のフラグ(0:全てゼロ それ以外:ゼロ以外が現れた)
WORK+14


表: サブルーチンDIVの汎用レジスターとメモリの内容.このサブルーチン では $ \texttt {GR0}\div \texttt {GR2}\rightarrow$$ \texttt{GR3}$余り$ \texttt{GR0}$ を計 算している.
レジスター 実行前 実行後
GR0 被除数 余り
GR2 除数 除数(変化無し)
GR3 不定

図 6: 教科書のList5-10のプログラムとフローチャート
\includegraphics[keepaspectratio, scale=0.7]{flow_chart/REI5-A.eps}



ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
2006-02-16


no counter