本文主要是介绍汇编语言——从键盘接收一个小写字母,找出它的前导字符和后续字符,再按顺序显示这三个字符,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
注意的点:
- 判断输入合法性
- a无前导字符
- z无后续字符
data segment
data ends
stack segment stackdw 100 dup (?)top label word
stack ends
code segmentassume cs:code,ds:data,ss:stack
main proc farmov ax,datamov ds,axmov ax,stackmov ss,axlea sp,top
L1: mov ah,7 ;不回显int 21hcmp al,'a'jb L1cmp al,'z'ja L1mov bl,al ;保存输入字符mov dl,bl ;合法输入,回显mov ah,2int 21hmov dl,0ah ;换行mov ah,2int 21hmov dl,0dh ;回车mov ah,2int 21hmov dl,bl ;还原输入的字符cmp dl,'a' ;输入的是第一个字母'a'je aprintcmp dl,'z' ;输入的是最后一个字母'z'je zprintdec dl ;输入的既不是'a',也不是'z',dl减1变成前导字符mov cx,3 ;输出三个字符
L2: mov ah,2int 21hinc dl ;dl递增loop L2jcxz exit ;退出;'a'无前导字符
aprint:mov cx,2 ;输出两个字符
L3: mov ah,2int 21hinc dlloop L3jcxz exit ;退出;'z'无后续字符
zprint:dec dl ;dl减1变成前导字符mov cx,2 ;输出两个字符
L4: mov ah,2int 21hinc dlloop L4exit: mov ah,4chint 21h
main endp
code endsend main
这篇关于汇编语言——从键盘接收一个小写字母,找出它的前导字符和后续字符,再按顺序显示这三个字符的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!