用汇编语言,将指定字符串中所有符号(不包括空格)转换成“*”号,不要求输入,只要求输出
可以自定义需转换的字符串,例如
本来的string可以是:“JAVA: How to Program,,D.P."
输出应该是:”JAVA* How to Program**D*P*“
请问这个程序怎么写,在线等,急,谢谢!!!
其他:assume cs:code
code segment
db 'JAVA: How to Program, , D.P.','$'
start:
mov ax,cs
mov ds,ax
sub si,si ;ds:si=cs:0
big:
cmp byte ptr [si],'$'
je ok
cmp byte ptr [si],'0'
jb space
cmp byte ptr [si],'9'
jna next
cmp byte ptr [si],'A'
jb space
cmp byte ptr [si],'Z'
jna next
cmp byte ptr [si],'a'
jb change
cmp byte ptr [si],'z'
jna next
jmp short change
space:
cmp byte ptr [si],' '
je next
change:
mov byte ptr [si],'*'
next:
inc si
jmp short big
ok:
sub dx,dx ;ds:dx=cs:0
mov ah,9
int 21h
mov ah,7
int 21h
mov ax,4c00h
int 21h
code ends
end start
除了数字和字母我全部用*代替。不知是否还要改进 (当然要用英文的标点符号.如果是汉字标点符号,当做2个字节,会把这2个都变成*)
上一个:汇编语言解释
下一个:汇编语言,此程序是求4个数6,88,13,46的和,求解释