• 締切済み

アセンブラについての質問です

学校からの課題でキーボードから1文字入力し、アルファベットの大文字なら小文字に、小文字なら大文字に変換して表示するプログラムでリターンキーが押されるまで繰り返すというもので mov ah 1 int 21h sub al '0' xor al 0dh mov dl al add dl '0' mov ah 2 int 21h までやってたんですが繰り返しの所がよく分かりません 調べたんですが難しくて分かりませんでした どなたか、教えて頂けないでしょうか?出来れば、方法だけでなくソースも書いて頂けると有り難いのですが・・・ よろしくお願いします。

みんなの回答

回答No.1

数字や記号はそのまま表示という条件なら ラベルA  キーボードから1文字入力  文字コードがリターンキー(0dh)ならラベルCへ(繰り返し終了)   文字コードが'A'から'Z'の間なら20h足す     (1)   文字コードが'a'から'z'の間なら20h引く (2)  画面へ1文字出力  ラベルAへジャンプ(繰り返し) ラベルC 終了 条件ジャンプが多くなりますので、参考URLを見てください。 20h足すとか引くの意味は、文字コード表を見てください。

参考URL:
http://softwaretechnique.jp/OS_Development/Tips/IA32_Instructions/Jcc.html

関連するQ&A