在实地址模式下编写一个完整的程序:
- 提示用户从键盘读取 K 和 P 之间的一个大写字母。
- 验证输入,如果字符不在范围内,则反复提示用户,直到输入有效字符。
- 在每一侧显示 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