找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1793|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

下面的2個C語言計算語句怎么用匯編語言來表示呢?

[復(fù)制鏈接]
回帖獎勵 80 黑幣 回復(fù)本帖可獲得 10 黑幣獎勵! 每人限 2 次
跳轉(zhuǎn)到指定樓層
樓主
ID:731979 發(fā)表于 2020-6-7 08:23 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
求教大佬,下面的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內(nèi)的脈沖數(shù)
                count=0;               
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:309224 發(fā)表于 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;      } ,在主循環(huán)中 增加if(gFLCalc){ gFLCalc=0; Mileage=Mileage+Velocity*500/36;                 //里程m=速度km/h*1000*5/3.6                 Velocity=count/5;//將100ms內(nèi)的脈沖數(shù)                 count=0;    }
回復(fù)

使用道具 舉報

板凳
ID:309224 發(fā)表于 2020-6-7 22:49 | 只看該作者
我看是50ms的中斷,也可以將  if(gFLCalc)的查詢放在按鍵任務(wù)內(nèi)
回復(fù)

使用道具 舉報

地板
ID:401564 發(fā)表于 2020-6-8 08:29 | 只看該作者
KEIL環(huán)境下進(jìn)行仿真,自然就轉(zhuǎn)換成匯編語言了,比較難看懂
回復(fù)

使用道具 舉報

5#
ID:123289 發(fā)表于 2020-6-8 11:20 | 只看該作者
1、首先你打算用幾個字節(jié)來表求:Mileage、Velocity、count。
2、放在什么地方。
3、你打算用什么方式來標(biāo)示數(shù)值,整數(shù)部分放哪里,小點部分放哪里、二進(jìn)制還是十進(jìn)制。
4、編寫與格式相對應(yīng)的加、減、乘、除法。
5、調(diào)用加、減、乘、除法,計算Mileage。
C中一句話,匯編或能要用百千行。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表