首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

字符串操作有关问题

2012-03-08 
字符串操作问题.Assembly codedata segmentbuf1 db 10,12*234*45610为元素个数删除buf1中的*(确定有*

字符串操作问题.

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……

热点排行