当前位置: 代码迷 >> 汇编语言 >> 字符串操作有关问题
  详细解决方案

字符串操作有关问题

热度:5615   发布时间:2013-02-26 00:00:00.0
字符串操作问题.
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……
  相关解决方案