c语言中提供多种循环结构,即do-while while for,汇编中没有响应指令提供这三种循环
但是可以使用条件测试和跳转进行组合起来 以实现上述三种循环效果,
大多数汇编会根据一个循环的do-while来产生代码,但是实际c代码中相对较少用到这种循环,
这时其它的循环会转化为do-while形式,然后在编译为机器代码
do
body-statement
while (test-expr)
do-while循环至少会执行一次body-statement
而当将其翻译成goto语句如下:
loop:
body-statement
t = test-expr;
if ( t )
goto
c代码:完成1到N的累加
int fact_do(int n)
{
int result = 1;
do{
result += n;
n = n-1;
}while(n > 1)
return nresult;
}
汇编代码: