读书人

字符串操作有关问题

发布时间: 2012-03-08 13:30:13 作者: rapoo

字符串操作问题.

Assembly code
data segment    buf1 db 10,'12*234*456'            ;10为元素个数  删除buf1中的'*'(确定有*)    buf2 db 11 dup(?)data endscode segment    assume cs:code,ds:data,es:datastart:    mov ax,data    mov ds,ax    mov es,ax        lea si,buf1    lea di,buf2    mov cx,10    mov al,'*'lp:    inc si    cmp al,[si]    jz lp2    mov bl,[si]    mov [di],bl    inc dilp2:    loop lp            lea si,buf1+1    lea di,buf2    mov cx,10rep movs buf1,buf2                mov ah,4ch    int 21hcode endsend start



程序已经实现删除buf1中的*,并存到buf2,但是在将buf2中的元素再传送到buf1时,发现竟然传不过去,实在不知为何?

[解决办法]
探讨
Assembly code

data segment
buf1 db 10,'12*234*456' ;10为元素个数 删除buf1中的'*'(确定有*)
buf2 db 11 dup(?)
data ends
code segment
assume cs:code,ds:data,es:data
start:
mov a……

读书人网 >汇编语言

热点推荐