私は、1〜9の間にある1桁の数字を求めて保存する8086アセンブリ言語のプログラムを書いています。 1から9の間でなければ、ループバックするはずです。入力文字が1から9の間であるかどうかをテストするにはどうすればよいですか?
要件を満たすまで、テストしてループバックさせて(別の数字を入力できるようにする)良い方法はありますか?
これまでの私のコード:
section .data
prompt1 db "Enter a single digit digit between 1-9 --> $"
section .text
;Display prompt
mov ah,9 ; print prompt
mov dx,prompt1 ; load register with prompt1
int 21h ; display it
; Input character and store.
mov ah,1 ; reach char fcn
int 21h ; read character into al
mov bl,al ; store character into bl
あなたの問題を引き起こしているどの部分?比較、条件分岐、ASCIIコードについて知っていますか? – Jester
私は条件分岐について知っていますが、比較には慣れていません。 – user3394363
次に 'cmp'についてのリファレンスページを読んでください。 TL; DR: 'cmp bl、1 ''のようなことをして、あなたがすでに知っている条件分岐を使うことができます。 – Jester