江苏小学教育:用汇编语言编程

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/11 18:32:23
程序要求:给定一串字符串:“can I have a try! $”编程要求删除串中的空格,且程序能在masm5中运行。

stacks segment stack
db 128 dup(0)
stacks ends

data segment
string db 'can i have a try!$'
n = 17
data ends

code segment
assume cs:code,ss:stacks,ds:data
start: mov ax,data
mov ds,ax
mov si,0
mov cx,n
mov dl,20h
l: mov al,string[si]
cmp al,dl
jz l2
inc si
cmp si,cx
jnz l
jmp exit
l2: mov di,si
jmp l1
l1: mov dh,string[di+1]
mov string[di],dh
inc di
cmp di,cx
jnz l1
inc si
jmp l
exit: lea dx,string
mov ah,9
int 21h
mov ah,4ch
int 21h
code ends
end start

我也是初学者,这是我编的程序,你测试一下。

大概的思路在于先建立两个存储区,一个用来存放源串,一个用来存放修改后的串。建立两个循环,一个用于判断空格,一个用于判断串结束符号,比较时都用ASCII码比较。

我们刚学,不会做这样的!