怎么用汇编实现for循环?

liuyang1110 2006-11-09 06:35:14
把下面的C代码转化为汇编代码.数组a和b分别放在以0x40000和x5000为起始地址的存储区内,类型为long,
for(i=0;i<8;i++)
{a[i]=b[7-i];}
...全文
766 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyang1110 2006-11-10
  • 打赏
  • 举报
回复
用反汇编太多太长了,我用VC++试了。
  • 打赏
  • 举报
回复
这样会更快一些吧:
lea esi,b
lea edi,a
mov ecx,8
cld
sub edi,4
@@0:
lodsd
mov [edi+ecx*4],eax
loop @@0
kgdiwss 2006-11-10
  • 打赏
  • 举报
回复
其实你自已用C写一下,然后反汇编看一下就知道了.
大熊猫侯佩 2006-11-09
  • 打赏
  • 举报
回复
.data
seven dd 7h

.code
xor ecx,ecx
lop:
cmp ecx,8
jnl quit
push seven
sub seven,ecx
mov edx,seven
pop seven
mov eax,b[edx*4]
mov a[ecx*4],eax
inc ecx
jmp lop
quit:

21,453

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧