Ⅰ 匯編語言與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();
}
}
}
Ⅱ 能將匯編程序轉化為C語言的程序嗎
可以,又不可以。
所有的匯編程序可以轉化出具有幾乎相同功能的C程序。
但是,有可能不具備可讀性,經過特別設計的匯編程序可能不能由程序翻譯成C代碼。
簡單的說,如果C語言寫的程序未經優化,反編譯是可行的。經過優化很難。如果經過混淆,那主要看是否是價值連城,只要價值連城都可以。
Ⅲ 請問如何把匯編語言轉成C語言
反過來是可以的,叫反匯編,但匯編無法轉C,因為匯編是機器語言,C最終還是轉化成匯編,想轉的話只能人為的編一個C出來
Ⅳ 怎麼把匯編轉換成C語言
1、目前的反編譯軟體,只存在將機器指令碼反匯編成匯編代碼,不存在將匯編代碼反編譯成C語言的,因為匯編代碼是低級語言,最接近於機器碼(具體可查看不同硬
件平台的技術資料),每條匯編指令都對應一個固定的機器碼,這樣進行反匯編是可行的
2、C語言屬於高級語言,編譯器沒有能力將匯編語言翻譯成C或更高級的
語言。
Ⅳ 匯編語言轉換成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語言
函數f返回整型
p定義為 int* &p
c語句為 return *p++
p相當於指向一個數組或堆棧,每次調用都返回當前指針指向的元素,指針向前一步
Ⅶ 怎樣將匯編語言轉換為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語言 然後用匯編重新實現
或者用編譯器自帶的命令,比如gcc,可以gcc a.c -o a.S -S 就可以生成匯編
也可以先生成bin,然後反編譯。
Ⅸ 匯編語言轉成C語言
其實通常可以這么處理
http://..com/question/27109185.html
當然,你非得用c表述出來也行,但是編譯完成後兩種效果基本一致。