前ページへ : INDEX : 次の章へ
解答へ
- 4-9.練習問題
- 問題
- 文字列を入力するサブルーチンを作れ。文字列の最後には0Dhが格納するものとする。
呼び出す条件として、BXには入力した文字列を格納するバッファーのアドレス、
CXには最大入力文字数-1が入っているものとし、リターン情報として、
AXレジスタに文字数(0Dhは除く)を入れ、そのほかのレジスタは保存する。
また、BS(バックスペース)も有効とする。
- ヒント:
-
- BSの文字コードは08hである。ただし、BSを表示しただけではカーソルが戻るだけなので、スペースを表示し、もう一度カーソルを戻す(08hを表示させる)必要がある。
- バックスペースを有効にするために、入力した文字がすぐに表示されては困る。この場合はAH=8の状態で「INT 21h」を行うと、ALレジスタに入力された文字コードが格納される。しかしAH=2と違い、入力された文字は表示されない(C言語でいう「getch()」)。
-