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++)
{
.......
}
}
}
求教大神这段代码怎么转化为汇编语言代码?
第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
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循环功能
一般是用LOOP语句
条件就是CX不为零
也可以用判断和计算组合,实现FOR循环功能
第3个回答 2015-11-02
for_loop:cmp ecx,0;--比较
lea eax, message2;
……
比较后,应该用一个条件转移指令。
满足条件,就跳出循环。
lea eax, message2;
……
比较后,应该用一个条件转移指令。
满足条件,就跳出循环。
第4个回答 2013-10-12
只给你一点思路
一层for循环用loop会写吗?
把循环次数放在cx中然后 loop
多层循环的话 外层循环结束把cx的值push到栈中,内存循环结束后再pop出来完成外层循环
一层for循环用loop会写吗?
把循环次数放在cx中然后 loop
多层循环的话 外层循环结束把cx的值push到栈中,内存循环结束后再pop出来完成外层循环