怎么用汇编语言实现for循环

unsigned char i,r,N=64;
unsigned int j;
for(r=0;r<N;r++)
{
for (j=0; j<8; j++)
{
for (i=0; i<8; i++)
{
.......
}
}
}
求教大神这段代码怎么转化为汇编语言代码?

汇编语言实现for循环十分容易,比如51汇编,用DJNZ指令就可以了,举例如下:
C语言:
for(i=0;i<10;i++)a=a+i;
汇编语言:
i equ 30h
m equ 31h
......
mov i,#0
mov m,#0
mov r2,#10
loop:
mov a,i

add a,m

mov m,a

djnz r2,loop
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-03
汇编语言实现for循环十分容易,比如51汇编,用DJNZ指令就可以了,举例如下:
C语言:
for(i=0;i<10;i++)a=a+i;
汇编语言:
i
equ
30h
m
equ
31h
......
mov
i,#0
mov
m,#0
mov
r2,#10
loop:
mov
a,i
add
a,m
mov
m,a
djnz
r2,loop
第2个回答  2015-10-06
有类似的循环语句
一般是用LOOP语句
条件就是CX不为零

也可以用判断和计算组合,实现FOR循环功能
第3个回答  2015-11-02
for_loop:cmp ecx,0;--比较

lea eax, message2;

……
比较后,应该用一个条件转移指令。
满足条件,就跳出循环。
第4个回答  2013-10-12
只给你一点思路

一层for循环用loop会写吗?
把循环次数放在cx中然后 loop

多层循环的话 外层循环结束把cx的值push到栈中,内存循环结束后再pop出来完成外层循环