次のような完全なプログラムを実アドレス モードで記述します。
- K と P の間の 1 文字の大文字をキーボードから読み取るようにユーザーに促します。
- 入力を検証し、文字が範囲内にない場合は、有効な文字が入力されるまでユーザーに何度もプロンプトを出します。
- 各辺に隣接する 5 文字を表示します。
たとえば、ユーザーが文字「M」を入力すると、出力は HIJKL M NOPQR になります。私はそれを解決しようとしますが、私の答えは間違っています
include irvine16.inc
.data
M1 byte "Enter one upper case letter between K and P : $"
letter byte 1,?,1
.code
main PROC
mov ax, @data
mov ds, ax
L1: mov ah,9 ;display msg m1
lea dx,M1
int 21h
mov ah,01h ;read a char
lea dx,letter
int 21h
mov bl,letter
CMP bl,'K'
Jb L1
CMP bl, 'P'
Ja L1
mov cx,5
lea si, letter
L3:
dec si
loop L3
mov cx,11
lea si, letter
L2: sub si,5
mov ah,05h
int 21h
LOOP L2
mov ah, 4ch
int 21h
main ENDP
END main