汇编 main.s文件中程序,实现将数据段中变量src_str的内容拷贝到变量dst_str

-刚接触不会,请教!!main.s文件中程序,实现将数据段中变量src_str的内容拷贝到变量dst_strAREAmy_prog,CODE,READONLYENTRY。... -刚接触不会,请教!!
main.s文件中程序,实现将数据段中变量src_str的内容拷贝到变量dst_str
AREA my_prog,CODE,READONLY
ENTRY
。。。。。
AREA my_dt,DATA,READWRITE
src_str DCB "EmbeddedSystem\0"
dst_str SPACE 32
END
展开
 我来答
yy_galois
2013-09-16 · TA获得超过857个赞
知道小有建树答主
回答量:429
采纳率:100%
帮助的人:156万
展开全部
CLD #清除direct flags
mov esi, src_str #源操作数地址送到 [DS] esi 寄存器

mov edi, dst_str #目的操作数送到 [ES] edi 寄存器
LOOP: # 标签lable, LOOP
loadsb #将源操作数[DS] esi中的字符串,按照字节,一个一个字节送到 AL寄存器
stosb # 将AL中的一个字节字符送到目的操作数寄存器 [ES] edi
testb AL, AL # 判断AL中字符是不是NULL, 如果是,则表示已经复制到了字符串末尾,退出
JNZ LOOP # 如果AL中不是NULL,那么表示还没复制完,跳转到LOOP,继续复制
# 否则,复制完成,退出

以上只是大概流程,不同的汇编编译器,具体字符串名称,和格式略有不同。但是意思是一样的。

你也可以使用 REP; MOVSB 指令对实现,不过这需要先计算字符串长度。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式