51for语句执行周期

#include<reg51.h>

void delay()

{unsigned char n;

for(n=0;n<100;n++)

;

   }

void main(void)

{while(1)

  {P0=0X00;

delay();

P0=0XFF;

delay();

  }

    }

01  CLR A;将A清0

02 C:0011 MOV R7,A;将A送给工作寄存器

03   INC R7 ; 将R7加一

04   CJNE R7,0x64;若R7不等于0x64(6*16+4=100)则转到C:0011处执行

CLR消耗1个机器周期

MOV消耗1个机器周期

INC消耗1个机器周期

CJNE消耗2个机器周期

根据循环条件 第03行和04行要执行100次 (0x64=100)所以上述程序消耗机器周期数N=1+1+(1+2)X100=302

所以 for 语句的一重循环

for(i=0;i<n;i++) 

机器周期数: N=3XN+2 (n必须为无符号字符型)

 

二重循环 for(i=0;i<m;i++)

for(i=0;i<n;i++)

;

机器周期: N=3XmXn+5m+2

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值