匯編語言轉換成c語言
Ⅰ 如何將這段匯編語言轉換成c語言
函數f返回整型
p定義為 int* &p
c語句為 return *p++
p相當於指向一個數組或堆棧,每次調用都返回當前指針指向的元素,指針向前一步
Ⅱ 匯編語言轉換成C語言
#include<reg51.h>
bit flag;
sbit p10=P1^0;
void it0p() interrupt 1
{
TR0=0;
flag=1;
}
void it1p() interrupt 3
{
p10=~p10;
}
void ptom2()
{
TMOD=0x26;
TL0=0xff;
TH0=0xff;
ET0=1;
TL1=0x06;
TH1=0x06;
flag=0;
EA=1;
TR0=1;
}
main()
{
SP=0x60;
while(1)
{
ptom2();
while(flag==0);
ET1=1;
TR1=1;
}
}
Ⅲ 怎樣將匯編語言轉換為C語言
如果是VC則在編譯器命令行參數再加 /FA 則會生成匯編代碼。如果參數是 /FAs 則會同時將源碼和匯編代碼。
/FA 程序集代碼;.asm
/FAc 機器碼和程序集代碼;.cod
/FAs 源代碼和程序集代碼;.asm
/FAcs 機器碼、源代碼和程序集碼;.cod
/Fa的用法
/Fa 為編譯中的每個源代碼文件創建一個源文件.asm。
/Fa文件名 將文件名.asm 放到當前目錄中。僅在編譯單個源代碼文件時有效。
/Fa文件名.擴展名 將文件名.擴展名放到當前目錄中。僅在編譯單個源代碼文件時有效。
/Fa目錄\ 為編譯中的每個源代碼文件創建一個源文件.asm,並將其放到指定目錄中。請注意必須有後綴反斜杠。只允許使用當前磁碟上的路徑。
/Fa目錄\文件名 將文件名.asm 放到指定目錄中。僅在編譯單個源代碼文件時有效。
/Fa目錄\文件名.擴展名 將文件名.擴展名放到指定目錄中。僅在編譯單個源代碼文件時有效。
如果你是用gcc 或 g++編譯器,如dev c++則加入命令行參數 -S 即可
Ⅳ 求大神將匯編語言轉換成c語言
匯編轉換成C語言也不是不可以的,小的程序是沒有問題的,大的程序或許不能轉換,我以前在學習單片機時,我先學的匯編語言,後來發現用C編寫會更適合大項目的開發,於是我就學習C語言,那時我就試著將自己以前編寫的匯編程序編寫成C語言程序,我是自己通過思路來轉換的,這樣的轉換軟體似乎沒有吧,這個我不清楚!我的體會就是,如果C語言的邏輯性特別強的程序轉換成匯編難度會很大的,這是我的親身體會。匯編轉換成C語言還是可以的,通過軟體可能沒有吧,通過自己的頭腦來轉換吧!關鍵是得付出!祝你成功
Ⅳ 把匯編語言轉化成C語言。。。。
簡單,只要你有5.6年的匯編經驗,基本上就可以做到
Ⅵ 能將匯編程序轉化為C語言的程序嗎
可以的
現在單片機也有C語言系統
X86的C語言還可以內嵌匯編,
所以C語言可以完成匯編的工作,而且編程效率高,部門功能還可以用嵌入匯編完成
Ⅶ 有什麼軟體能把匯編語言轉為C語言
這個.......這種軟體真沒聽過
應該屬於反匯編的范疇吧
小哥的程序或許還可以,程序一旦大了基本不可能
Ⅷ 將一個簡單的匯編語言呢轉換成C語言程序
#include<reg51.h>
#define uchar unsigned char
uchar disdat[8]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80};
main()
{
uchar a;
while(1)
{
P2=0xc0;
while(!P3_3)
{
a=0;
if(P0_0){a=1;break;}
if(P0_1){a=2;break;}
if(P0_2){a=3;break;}
if(P0_3){a=4;break;}
if(P0_4){a=5;break;}
if(P0_5){a=6;break;}
if(P0_6){a=7;break;}
if(P0_7)continue;
}
do{
P1_0=0;
P2=disdat[a];
}while(!P3_2)
P1_0=1;
P2=0xff;
}
}
Ⅸ 匯編語言轉成C語言
其實通常可以這么處理
http://..com/question/27109185.html
當然,你非得用c表述出來也行,但是編譯完成後兩種效果基本一致。
Ⅹ 匯編語言與C語言轉換
程序有很多問題,做了部分修改
#include<reg51.h>
#define uchar unsigned char
sbit p10=P1^0;
sbit p30=P3^0;
sbit p31=P3^1;
sbit p12=P1^2;
void delay()
{
uchar i,j;
for(i=0;i<170;i++)
for(i=0;i<187;i++);
}
void alarm()
{
uchar times;
p12=1;
p30=0;
p31=0;
times=0x14;
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
TR=1;
while(times)
{
while(TF0==0);
TF0=0;
TH0=0x3c;
TL0=0xb0;
times--;
}
p30=1;
p31=0;
p12=0;
}
void pint0() interrupt 0
{
EX0=0;
if(p32==0)
{
delay();
if(p32==0)
{
p30=1;
p31=0;
p12=0;
}
}
EX0=1;
}
main()
{
IE=0x81;
IT0=1;
SP=0x30;
p30=1;
p31=1;
P1=0xff;
P2=0x00;
p12=0;
while(1)
{
if(p10==0)
{
delay();
if(p10==0)alarm();
}
}
}