📄 5-2.asm
字号:
data segment
m1 db 'To the top now!Please input the right letter!',0ah,0dh,'$'
m2 db 'To the end now!Please input the right letter!',0ah,0dh,'$'
m3 db 'Please input a letter:(input "#" to exit)',0ah,0dh,'$'
temp db ? ;用于存储输入的字母
data ends
code segment
assume cs:code,ds:data
start:
mov ax, data
mov ds, ax
mov dx,offset m3
mov ah,9
int 21h ;提示输入字母
again:
mov ah,1
int 21h ;输入一个字母
cmp al,'#'
jz exit ;是“#”则跳出
cmp al,'a' ;输入的字母是小写字母么?a=61h
jnb next1
mov dx,offset m1
mov ah,9
int 21h
jmp again
next1: cmp al,'z'
jb out1
jmp next2
next2: mov dx,offset m2
mov ah,9
int 21h
jmp again
out1: mov temp,al ;将输入字母存于temp内
mov dl,0ah
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h ;换行
mov dl,0dh
mov ah,2
int 21h ;换行
;将显示前驱字母
mov al,temp
cmp al,'a' ;判断是a.
jz p1 ;是,跳转
sub al,1 ;将其ASC码减1输出
mov dl,al
mov ah,2
int 21h
p1:
;输出输入字母
mov al,temp ;说明超出字母表
mov dl,al
mov ah,2
int 21h
;将显示后继字母
mov al,temp
cmp al, 'z'
jz again
add al,1
mov dl,al
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h ;换行
mov dl,0dh
mov ah,2
int 21h ;换行
jmp again
exit: ;退出
mov ah, 4ch
int 21h
code ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -