首页
社区
课程
招聘
[旧帖] [求助]新手求助一个简单的汇编语言问题 0.00雪花
发表于: 2008-4-4 22:41 3943

[旧帖] [求助]新手求助一个简单的汇编语言问题 0.00雪花

2008-4-4 22:41
3943
新手求助一个简单的汇编语言问题,请大虾们帮帮我问题是这样的:利用变址寄存器,编写一个程序,把自1000H单元开始的100个数传送到自1070H开始的储存区中去。
我知道要用MOVSB来完成这个程序,不过就是不知道用什么语句来写“自1000H单元开始”
 

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
可以下一本汇编的教程看看,比如王爽的,有详细的例子,
mov ax,1000h  ;设置1000h开始的段
mov ds,ax
mov ax,1070h    ;设置要传送的目的段
mov es,ax
mov bx,0
mov cx,64h

s:   mov ax,[bx]      ;1000:0的内容到ax

     mov es:[bx],ax    ;ax内容到1070h:0

     inc bx

     loop s
我也是刚学也不知道对不对,建议看书
2008-4-4 23:32
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
好的谢谢你....我会的啦...
2008-4-4 23:40
0
雪    币: 132
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
mov esi,1000h
mov edi,1070h
mov ecx,100
cld
rep movsb
2008-4-6 08:36
0
雪    币: 297
活跃值: (27)
能力值: ( LV13,RANK:380 )
在线值:
发帖
回帖
粉丝
5
如果100是100h的笔误的话,上面这段代码可能会出现错误的运行结果。
因为没有考虑到源代码段和目标代码码后面重叠的情况
考虑到效率和重叠的情况,应该这样
------------------------------<code>
mov esi, 1100h
mov edi,1170h
mov ecx,40h
std
rep movsd
------------------------------</code>

当然,做一个实际可适合任合情况的memcpy()比这段代码远远复杂的多。
2008-4-6 09:49
0
游客
登录 | 注册 方可回帖
返回
//