亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2202|回復: 4
收起左側

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

[復制鏈接]
回帖獎勵 80 黑幣 回復本帖可獲得 10 黑幣獎勵! 每人限 2 次
ID:731979 發表于 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內的脈沖數
                count=0;               
        }
}

回復

使用道具 舉報

ID:309224 發表于 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;    }
回復

使用道具 舉報

ID:309224 發表于 2020-6-7 22:49 | 顯示全部樓層
我看是50ms的中斷,也可以將  if(gFLCalc)的查詢放在按鍵任務內
回復

使用道具 舉報

ID:401564 發表于 2020-6-8 08:29 | 顯示全部樓層
KEIL環境下進行仿真,自然就轉換成匯編語言了,比較難看懂
回復

使用道具 舉報

ID:123289 發表于 2020-6-8 11:20 | 顯示全部樓層
1、首先你打算用幾個字節來表求:Mileage、Velocity、count。
2、放在什么地方。
3、你打算用什么方式來標示數值,整數部分放哪里,小點部分放哪里、二進制還是十進制。
4、編寫與格式相對應的加、減、乘、除法。
5、調用加、減、乘、除法,計算Mileage。
C中一句話,匯編或能要用百千行。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表