Subsections
教科書のList5-10のプログラムを例にして,数値データを文字データに変換する方法を説
明する.
教科書の例のプログラムは,メモリーに格納されている整数データを文字に変換して表示
するものである.表示の約束は,以下の通りである.
- ラベルAに入っている数値(最大5桁)を文字列に変換して,OUT命令で表示す
る.
- 表示には6桁(カラム)用意して,第1桁は符号で負の場合のみ表示する.2〜6桁は
絶対値を表す.ただし,上位の桁が0の場合,スペースを入れる.
ラベルAの数値が最大5桁なのは,それを符号付き整数として取り扱うからである.
その場合,1ワードで表現できるのは,-32768〜32767の範囲である.これが5桁で,符号
を合わせると表示に6桁必要になる.実際には図のように,6カラムで負号のみ左端に表示
し,数値は右詰で表示する.
図 5:
教科書のList5-10の数値を文字に変換
|
|
プログラムの作成方法と動作について,教科書に沿って説明する.
表 3:
メインルーチンの汎用レジスターとメモリの内容
| GR0 |
処理すべき数値(処理する毎に桁が減少) |
| GR1 |
カウンター(処理する桁を示す) |
| GR2 |
除数 |
| GR3 |
その桁の値(整数) |
| C4 |
わり算が必要な桁数 |
| BUFF |
文字を格納するメモリーの先頭アドレス |
| MOJI |
#0030.これを整数に足せば,その文字コードになる. |
| WORK |
以前の桁のフラグ(0:全てゼロ それ以外:ゼロ以外が現れた) |
| WORK+1〜4 |
桁 |
表:
サブルーチンDIVの汎用レジスターとメモリの内容.このサブルーチン
では
商
余り
を計
算している.
| レジスター |
実行前 |
実行後 |
| GR0 |
被除数 |
余り |
| GR2 |
除数 |
除数(変化無し) |
| GR3 |
不定 |
商 |
図 6:
教科書のList5-10のプログラムとフローチャート
|
|
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
2006-02-16