主题:(紧急求助)清高手帮我解答一下这道题,我还是运行不出来
stare
[专家分:0] 发布于 2007-06-17 09:55:00
从strin单元起有100个字符,将其中的所有大写英文字母修改为小写的英文字母,将其中的十进制数字符‘0’-‘9’找出,存放到dnum单元起的存储区中,并将该存储区长度存入DNUML单元中。并将显示出来
最后更新于:2007-06-17 13:20:00
回复列表 (共1个回复)
沙发
塞北江南 [专家分:1350] 发布于 2007-06-18 10:14:00
.model small
.stack
.data
strin db 'skdjfa!@kdjfALDJASFASDKFJASD34***%U534035023ASKDHalk()djas',0ah,0dh,'$'
lengths equ $-strin ;字符串的长度可以任意,但要以$结尾,中间不能有$
dnum db 100 dup (?)
DNUML db 0
.code
.startup
mov dx,offset strin ;显示原来的strin
mov ah,9
int 21h
mov si,0
mov di,0
.while strin[si]!='$'
.if strin[si]>='A' && strin[si]<='Z'
add strin[si],20h
.elseif strin[si]>='0' && strin[si]<='9'
mov al,strin[si]
mov dnum[di],al
inc di
.endif
inc si
.endw
.if di>0
mov dnum[di],'$' ;为输出 dnum串准备
mov ax,di
dec ax
mov dnuml,al ;保存长度
.endif
mov dx,offset strin ;显示转换过的strin
mov ah,9
int 21h
mov dx,offset dnum
mov ah,9
int 21h
.exit 0
end
我来回复