汇编语言简单程序一个

来源:百度知道 编辑:UC知道 时间:2024/05/25 08:35:43
1题目:输入一个字符,找出它的前导字符和后续字符,并按顺序显示这三个字符.
2实验要求:程序从键盘接收用户输入的一个字符后,然后分别找出它的前导字符和后续字符,再按顺序显示这三个字符,要有相应的提示信息
3提示:从al寄存器得到它的ASCII码,它的前导字符和后续字符的ASCII码分别比它的少1或多1,然后分别显示这三个字符.

PS:我写了一个,但感觉不够精练,刚学汇编的,希望高手可以写个漂亮点的代码出来...供大家学习下,谢了!!

;输入一个字符,找出它的前导字符和后续字符,并按顺序显示这三个字符.

.model small
.stack 200h
.data
imsg db 'Input:$' ;输入提示信息
omsg db 0Dh,0Ah,'Output:$' ;输出提示信息
string db 3 dup(0),'$' ;存放三个字符

.CODE
START:
mov ax,@data
mov ds,ax

;输入字符
lea dx,imsg
mov ah,9
int 21h

mov ah,1
int 21h

;写入string
lea di,string
dec al
mov cx,3
s:
mov [di],al
inc di
inc al
loop s

;显示string
lea dx,omsg
mov ah,9
int 21h

lea dx,string
mov ah,9
int 21h

;暂停,任意键关闭
mov ah,1
int 21h
;结束
mov ah,4ch
int 21h

END START

附:用的是简化的段定义,里面的提示信息自己可以改

program check:
var
a,b,c:char;
begin
readln(a);
b:=chr(ord(a)-1);
c:=chr(ord(a)+1);
writeln(b,a,c);
end.