32位汇编——c语言循环do——while

本文探讨了C语言中的do-while、while和for循环在汇编语言中如何实现。通过条件测试和跳转指令,汇编代码可以模拟这些循环结构。详细解释了每种循环的汇编转换过程,并举例说明了for循环在遇到continue语句时的特殊处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
}
汇编代码:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值