
很简单的3道汇编题目
1。从键盘上接受一个字符,找出它的前导字符和后继字符,按顺序显示这3个字符2。从键盘上接受一个数字字符,如果不是,现实“notodd”,否则显示“odd”3,从键盘上接受...
1。从键盘上接受一个字符,找出它的前导字符和后继字符,按顺序显示这3个字符
2。从键盘上接受一个数字字符,如果不是,现实“not odd”,否则显示“odd”
3,从键盘上接受一个小写字母,将它变成相应的大写字母并显示
如果有详细注释 将另 +10分 谢谢各位 展开
2。从键盘上接受一个数字字符,如果不是,现实“not odd”,否则显示“odd”
3,从键盘上接受一个小写字母,将它变成相应的大写字母并显示
如果有详细注释 将另 +10分 谢谢各位 展开
3个回答
展开全部
只写中间处理的部分
第一题:
mov ah,1
int 21h ;上两条指令是从键盘接收一个字符,结果在dl中
mov bl,dl
dec dl
mov ah,2
int 21h ;输出它的前导字符
mov dl,bl
mov ah,2
int 21h ;输出该字符
inc dl
mov ah,2
int 21h ;输出它的后继字符
第二题:
mov ah,2
int 21h
cmp dl,'0'
jb abc1 ;如果低于'0'则跳至abc1,这里'0'是字符
cmp dl,'9'
ja abc1 ;如果高于'9'则跳至abc1
lea dx,output1 ;output1是字符串'odd'的首地址
mov ah,9
int 21h ;输出字符串'odd'
jmp abc2 ;无条件跳转到abc2
abc1;
lea dx,output2 ;output2是字符串'not odd'的首地址
mov ah,9
int 21h
abc2;
mov ah,0
int 16h ;暂停
mov ah,4ch
int 21h ;结束
第三题:
abc;
mov ah,1
int 21h
cmp dl,'a' ;以下四句是判断是否是小写字母
jb abc
cmp dl,'z'
ja abc
sub dl,20h ;将小写字母减20h(十进制的30),得到大写字母的ASCII码
mov ah,2
int 21h
第一题:
mov ah,1
int 21h ;上两条指令是从键盘接收一个字符,结果在dl中
mov bl,dl
dec dl
mov ah,2
int 21h ;输出它的前导字符
mov dl,bl
mov ah,2
int 21h ;输出该字符
inc dl
mov ah,2
int 21h ;输出它的后继字符
第二题:
mov ah,2
int 21h
cmp dl,'0'
jb abc1 ;如果低于'0'则跳至abc1,这里'0'是字符
cmp dl,'9'
ja abc1 ;如果高于'9'则跳至abc1
lea dx,output1 ;output1是字符串'odd'的首地址
mov ah,9
int 21h ;输出字符串'odd'
jmp abc2 ;无条件跳转到abc2
abc1;
lea dx,output2 ;output2是字符串'not odd'的首地址
mov ah,9
int 21h
abc2;
mov ah,0
int 16h ;暂停
mov ah,4ch
int 21h ;结束
第三题:
abc;
mov ah,1
int 21h
cmp dl,'a' ;以下四句是判断是否是小写字母
jb abc
cmp dl,'z'
ja abc
sub dl,20h ;将小写字母减20h(十进制的30),得到大写字母的ASCII码
mov ah,2
int 21h
展开全部
晕,这几道题目都差不多的,教你做一道,其他两道都会了:
从键盘上接受一个小写字母,将它变成相应的大写字母并显示
in ax,a
add bx,50h
out ax
从键盘上接受一个小写字母,将它变成相应的大写字母并显示
in ax,a
add bx,50h
out ax
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1&&2 << CMP;
3 << ADD;
回显去找调用。。
3 << ADD;
回显去找调用。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询