←前ページへ : INDEX :  次の章へ→   解答へ


4-9.練習問題

問題
文字列を入力するサブルーチンを作れ。文字列の最後には0Dhが格納するものとする。
呼び出す条件として、BXには入力した文字列を格納するバッファーのアドレス、 CXには最大入力文字数-1が入っているものとし、リターン情報として、 AXレジスタに文字数(0Dhは除く)を入れ、そのほかのレジスタは保存する。
また、BS(バックスペース)も有効とする。

ヒント:
  • BSの文字コードは08hである。ただし、BSを表示しただけではカーソルが戻るだけなので、スペースを表示し、もう一度カーソルを戻す(08hを表示させる)必要がある。
  • バックスペースを有効にするために、入力した文字がすぐに表示されては困る。この場合はAH=8の状態で「INT 21h」を行うと、ALレジスタに入力された文字コードが格納される。しかしAH=2と違い、入力された文字は表示されない(C言語でいう「getch()」)。

←前ページへ : INDEX :  次の章へ→   解答へ