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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2219|回復(fù): 11
收起左側(cè)

這個(gè)C語言語句怎么轉(zhuǎn)成匯編,請高手幫解答下。

[復(fù)制鏈接]
ID:264733 發(fā)表于 2020-3-14 11:18 | 顯示全部樓層 |閱讀模式
while((p3.6=0)&&((time++)<500))          這個(gè)while停在這里判斷 兩個(gè)條件    ,  匯編中如果jnb p3.6 $這個(gè)就停在這里了,沒辦法加時(shí)間判斷。(C中也沒有用到定時(shí)器)    謝謝。
回復(fù)

使用道具 舉報(bào)

ID:264733 發(fā)表于 2020-3-14 11:18 | 顯示全部樓層
while((p3.6==0)&&((time++)<500))
回復(fù)

使用道具 舉報(bào)

ID:401564 發(fā)表于 2020-3-14 15:30 | 顯示全部樓層
只要你的程序可以正常編譯,在KEIL仿真一下,會有相應(yīng)的匯編代碼給你看的
回復(fù)

使用道具 舉報(bào)

ID:264733 發(fā)表于 2020-3-14 20:39 | 顯示全部樓層
Y_G_G 發(fā)表于 2020-3-14 15:30
只要你的程序可以正常編譯,在KEIL仿真一下,會有相應(yīng)的匯編代碼給你看的

好的  試一下看看 謝謝
回復(fù)

使用道具 舉報(bào)

ID:264733 發(fā)表于 2020-3-17 12:20 | 顯示全部樓層
Y_G_G 發(fā)表于 2020-3-14 15:30
只要你的程序可以正常編譯,在KEIL仿真一下,會有相應(yīng)的匯編代碼給你看的

請大神幫再看下  這個(gè)還是看不懂應(yīng)該怎么寫
999999999999.jpg
回復(fù)

使用道具 舉報(bào)

ID:264733 發(fā)表于 2020-3-17 12:22 | 顯示全部樓層
請大神幫再看下 還是看不懂這個(gè)怎么轉(zhuǎn)的  關(guān)鍵是走不到那個(gè)11的位置
999999999999.jpg
回復(fù)

使用道具 舉報(bào)

ID:401564 發(fā)表于 2020-3-17 13:55 | 顯示全部樓層
這樣我看不明白,你把C文件上傳,我試一下
回復(fù)

使用道具 舉報(bào)

ID:697917 發(fā)表于 2020-3-17 15:08 | 顯示全部樓層
比較90.0(應(yīng)該是p3.6引腳不為0)跳轉(zhuǎn)到00B3行,即下面3行處,不進(jìn)行time清零操作
回復(fù)

使用道具 舉報(bào)

ID:264733 發(fā)表于 2020-3-18 13:26 | 顯示全部樓層
Y_G_G 發(fā)表于 2020-3-17 13:55
這樣我看不明白,你把C文件上傳,我試一下

你好幫看下謝謝
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
uint v=0,time=0;
sbit key=P1^0;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
time++;
if((key==0)&&(time>40));  //如果按鍵時(shí)間超過2秒且鍵未釋放,變量+1
if(key==1)time=0;    //如果鍵釋放,時(shí)間復(fù)位
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
while(1);
}
回復(fù)

使用道具 舉報(bào)

ID:264733 發(fā)表于 2020-3-18 13:35 | 顯示全部樓層
因?yàn)镃每個(gè)人的寫法不一樣(自己感覺看起來沒有匯編的好,具有統(tǒng)一性)  所以想學(xué)匯編。 而被這個(gè)卡住了 沒有明白是這個(gè)語句用匯編是怎么寫的 所以請教大神幫解答下。
回復(fù)

使用道具 舉報(bào)

ID:401564 發(fā)表于 2020-3-18 21:05 | 顯示全部樓層
time++;
if((key==0)&&(time>40));  //如果按鍵時(shí)間超過2秒且鍵未釋放,變量+1
if(key==1)time=0;    //如果鍵釋放,時(shí)間復(fù)位

你這個(gè)是進(jìn)入中斷之后,變量就先+1
后一個(gè)語句沒有作用,條件成不成立都是執(zhí)行下一條語句的

不要在函數(shù)外面聲明變量,這樣編譯器會生成一大堆無用的匯編代碼出來的
回復(fù)

使用道具 舉報(bào)

ID:264733 發(fā)表于 2020-3-19 12:03 | 顯示全部樓層
Y_G_G 發(fā)表于 2020-3-18 21:05
time++;
if((key==0)&&(time>40));  //如果按鍵時(shí)間超過2秒且鍵未釋放,變量+1
if(key==1)time=0;    // ...

你好  搞明白了,重新弄了一個(gè)  看清楚思路了 。  謝謝
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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