怎么把汇编转换成C语言

ORG 0000H
AJMP MAIN
ORG 0003H
AJMP in0 ;光敏电阻
ORG 0013H

ORG 0050H
MAIN: MOV P0, #00000001B ;置初始值in0可重复触发,灯灭
MOV TMOD, #00000010B ;方式2,8位自动重装计数器
MOV TCON, #00010000B ;开启计数器T0
MOV IE, #10000111B ;开启所有中断
SJMP $ ;灯慢慢变亮
DET1: MOV P0, #00000001B
CALL TIME0 ;灯亮度延时10ms
MOV P0, #00000011B
CALL TIME0
MOV P0, #00000101B
CALL TIME0
MOV P0, #00000111B
CALL TIME0
MOV P0, #00001001B
CALL TIME0
MOV P0, #00001011B
CALL TIME0
MOV P0, #00001101B
CALL TIME0
MOV P0, #00001111B
CALL TIME1
RETI;灯慢慢熄灭
DET0: CALL TIME1 ;延时1分钟
MOV TCON, A
ANL A, #1
JZ LOOP
MOV P0, #00001111B
CALL TIME0
MOV P0, #00001101B
CALL TIME0
MOV P0, #00001011B
CALL TIME0
MOV P0, #00001001B
CALL TIME0
MOV P0, #00000111B
CALL TIME0
MOV P0, #00000101B
CALL TIME0
MOV P0, #00000011B
CALL TIME0
MOV P0, #00000001B
RETI
LOOP: ret
;延时10ms
TIME0: SETB TR0
MOV R0, #250
MOV R1, #20
D_1: DJNZ R0, D_1
MOV R0, #250
DJNZ R1, D_1
CLR TR0
RET
;延时1分钟
TIME1: SETB TR0
MOV R0, #250
MOV R1, #200
MOV R2, #60
D_2 : DJNZ R0, D_2
MOV R1, #200
DJNZ R1, D_2
MOV R2, #60
DJNZ R2, D_2
CLR TR0
RET
END

如果 只是简单的几行,可以把编译后的exe文件,用系统自带的debug(windows键+R打开 运行窗口 输入debug 空格 exe的路径)打开debug后,输入U可以看到几行汇编代码。
如果是源代码 在vs编译器中调试运行,菜单上的:调试--窗口--反汇编 可以查看,如果是其他编译器 仔细找找也带反汇编的
要资料的话 [天书夜读-从汇编语言到Windows内核编程].谭文.邵坚磊. 这本书的基础部分里 有c语言与汇编的转换追问

不好意思啊 我没太懂 这个汇编程序怎么生成.exe文件啊

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-08
1、目前的反编译软件,只存在将机器指令码反汇编成汇编代码,不存在将汇编代码反编译成C语言的,因为汇编代码是低级语言,最接近于机器码(具体可查看不同硬
件平台的技术资料),每条汇编指令都对应一个固定的机器码,这样进行反汇编是可行的
2、C语言属于高级语言,编译器没有能力将汇编语言翻译成C或更高级的
语言。
第2个回答  2015-10-04
将汇编转换成C语言有以下几种方法:
1、用专门的转换软件,不过到目前为止,没有效果较好的转换软件。
2、手动转换,读懂汇编语言所表达的意思,再编制C语言完成相同的功能。

怎样能将汇编语言转换成c语言
要将汇编代码转换为C语言,一种常见的方法是使用反汇编工具将汇编代码反汇编成更高级的语言形式。这一过程涉及分析汇编指令并将其转换为更高级、更易于理解的代码形式。但请注意,反汇编得到的代码并不完全等同于原始的C代码,因为它可能包含许多与原始程序的结构和逻辑相关的细节。3. 代码理解和重构:反...

怎样能将汇编语言转换成c语言
要将汇编语言转换为C语言,首先,打开IAR集成开发环境(IDE),并设置STM8工程。以创建一个简单的C语言延时程序作为转换的示例。接下来,你需要将C语言延时代码中的关键部分提取出来,这部分通常包含计时和延时的逻辑。然后,你需要将这部分代码替换为等效的汇编代码,确保理解汇编语言的指令集,以便正确地...

如何将汇编代码转换成c语言?
1、打开Keil,新建一个51工程,同时新建一个main.c文件,并加入到工程源代码当中。2、再点击新建文件按钮,新建一个汇编语言源文件:test.asm,并将它保存到指定目录。3、在test.asm当中输入下面的代码。4、代码编写完成后,需要将test.asm加入到工程当中,即鼠标右键点击对应工程的源程序文件夹,选择“...

怎样能将汇编语言转换成c语言
1、打开IAR FOR STM8工程。2、编一段C语言的延时程序,作为例子。3、如何在目前实例上,添加我们的汇编。4、编译一下是否可以编译通过,编译提示OK。5、进入仿真界面,是否可以运行。把断点设在汇编的程序上,运行后,可以在断点处停止,说明仿真也是正常的。

怎样将汇编语言转换为C语言
如果是VC则在编译器命令行参数再加 \/FA 则会生成汇编代码。如果参数是 \/FAs 则会同时将源码和汇编代码。\/FA 程序集代码;.asm \/FAc 机器码和程序集代码;.cod \/FAs 源代码和程序集代码;.asm \/FAcs 机器码、源代码和程序集码;.cod \/Fa的用法 \/Fa 为编译中的每个源代码文件创建一个源文件....

怎么把烧录好的单片机程序读取出来成c语言
相关方法如下:1、使用逆向工程工具:使用专门的逆向工程工具,如IDA Pro、Ghidra等,打开烧录好的单片机程序文件,这些工具可以将二进制代码转换为汇编代码,并提供反汇编和反编译功能。2、分析反汇编代码:通过分析反汇编代码,了解程序的结构和逻辑,可以查看函数、变量、循环、条件语句等,并尝试理解程序...

哪位高手帮我把汇编语言程序转换成c语言程序啊?(对了是51单片机程序...
有个工具叫做:ida,装好插件后就可以直接反汇编为C语言,http:\/\/www.pediy.com\/tools\/Disassemblers\/ida\/ida.htm IDA PRO 简称IDA ,英文:Interactive Disassembler的缩写。它是由HEX RAY SA 公司开发的,一家多年以来从事二进制代码反编译C的软件安全公司,其公司的旗舰产品就是著名的Hex- ...

如何将单片机HEX文件转换成C语言或汇编
1、.hex是二进文件。.asm是汇编文件。是C编译器产生的。如果谁把汇编语言还原成C,几乎不太可能,如有这时间功夫,C程序自已都可早早重新编好了。2、可以用反向工程hex2c:开始—>运行—>输入CMD 找到hex2c.exe所在文件夹路径 输入 hex2c <hex文件名称.hex> <生成c文件名称.c> ...

如何反编译c语言程序
1. **使用反编译工具**:利用专业的反编译工具如IDA Pro、Ghidra等,这些工具能够解析二进制代码,提取其中的函数、变量和逻辑结构,并尝试以较高级别的语言(如伪代码或C语言)重新表示。2. **反汇编**:首先,将二进制代码转换为汇编代码,因为汇编代码更接近机器语言,但比机器码更易于理解。这一...

有大佬能把汇编语言转成c语言吗?下面的这个
到目前为止,还从来没有出现过能够自动把低级语言(汇编语言)转变成高级语言(C、PASCAL等)的编译器。只有把高级语言转化为低级语言的编译器。如果真的能够有哪一个人可以通过人工阅读汇编指令的方式,把汇编语言转换成高级语言,那么这个人可真的就是一个地道的计算机专家了。

相似回答