![]() |
#2
wwfdzh20122013-10-19 16:40
|

ex_data segment
list db 9,'abcdefghi$'
ex_data ends
code segment
assume cs:code,es:ex_data
start:
mov ax,ex_data
mov es,ax
mov ds,ax
mov al,'b'
mov cl,es:[di]
add di,1
cld
repne scasw
je delete
jmp exit
delete:
cmp cl,0
je dec_cnt
next_el:
mov bl,es:[di]
mov es:[di-1],bl
add di,1
loop next_el
dec_cnt:
mov es:[di+1],'$'
dec es:[di]
exit:
mov ah,09h
mov bx,offset list
add bx,1
int 21h
mov ah,4ch
int 21h
code ends
end start
程序的目的是在附加段一个已存在的字符串中找一个字符,找到的话就删除,否则直接输出字符串,我的代码找不到字符,帮帮忙 list db 9,'abcdefghi$'
ex_data ends
code segment
assume cs:code,es:ex_data
start:
mov ax,ex_data
mov es,ax
mov ds,ax
mov al,'b'
mov cl,es:[di]
add di,1
cld
repne scasw
je delete
jmp exit
delete:
cmp cl,0
je dec_cnt
next_el:
mov bl,es:[di]
mov es:[di-1],bl
add di,1
loop next_el
dec_cnt:
mov es:[di+1],'$'
dec es:[di]
exit:
mov ah,09h
mov bx,offset list
add bx,1
int 21h
mov ah,4ch
int 21h
code ends
end start