欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 下面的2個C語言計算語句怎么用匯編語言來表示呢? [打印本頁]

作者: 2844304776    時間: 2020-6-7 08:23
標題: 下面的2個C語言計算語句怎么用匯編語言來表示呢?
求教大佬,下面的Mileage=Mileage+Velocity*500/36;  Velocity=count/5 怎么用匯編表示出來呢?            
void EXINT0() interrupt 0
{
        count++;
}

void time0() interrupt 1
{
        uchar m;
        TH0=0x3c;
        TL0=0xb0;         //50ms
        m++;
        if(m>=10)
        {
                m=0;
                Mileage=Mileage+Velocity*500/36;                 //里程m=速度km/h*1000*5/3.6
                Velocity=count/5;//100ms內的脈沖數
                count=0;               
        }
}


作者: qhlfree    時間: 2020-6-7 22:47
不要在中斷做乘除,ARM上百兆的帶硬件乘除的土豪隨意.   中斷改為  void time0() interrupt 1 {         uchar m;         TH0=0x3c;         TL0=0xb0;         //50ms         m++;         if(m>=10)         {                 m=0;                gFLCalc=TURE;      } ,在主循環中 增加if(gFLCalc){ gFLCalc=0; Mileage=Mileage+Velocity*500/36;                 //里程m=速度km/h*1000*5/3.6                 Velocity=count/5;//將100ms內的脈沖數                 count=0;    }
作者: qhlfree    時間: 2020-6-7 22:49
我看是50ms的中斷,也可以將  if(gFLCalc)的查詢放在按鍵任務內

作者: Y_G_G    時間: 2020-6-8 08:29
KEIL環境下進行仿真,自然就轉換成匯編語言了,比較難看懂
作者: yzwzfyz    時間: 2020-6-8 11:20
1、首先你打算用幾個字節來表求:Mileage、Velocity、count。
2、放在什么地方。
3、你打算用什么方式來標示數值,整數部分放哪里,小點部分放哪里、二進制還是十進制。
4、編寫與格式相對應的加、減、乘、除法。
5、調用加、減、乘、除法,計算Mileage。
C中一句話,匯編或能要用百千行。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1