汇编语言转换成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();
}
}
}