首页 > 编程语言 >10.2通过编译器输出汇编语言的源代码

10.2通过编译器输出汇编语言的源代码

时间:2023-02-13 21:56:03浏览次数:47  
标签:10.2 汇编语言 C语言 Sample4 编译器 源代码 asm

      除了将本地代码进行反汇编这一方法外,通过其他方式也可以获取汇编语言的源代码。大部分C语言编译器,都可以把利用C语言编写的源代码转换成汇编语言的源代码,而不是本地代码。利用该功能,就可以对C语言的源代码和汇编语言的源代码进行比较研究。笔者在学生时代的报告中,使用的便是该功能。Borland C++ 中,通过在编译器的选项中指定“-S”,就可以生成汇编语言的源代码了。
      用Windows的记事本等文本编辑器编写如代码清单 10-1所示的 0语言源代码,并将其命名为 Sample4.c进行保存。C语言源文件的扩展名,通常用“c”来表示。该程序是由返回参数的两个整数值之和的AddNum 函数"和调用 AddNum 函数的 MyFunc 函数构成的。因为没有包含程序运行起始位置"的 main 函数部分,这种情况下直接编译是无法运行的。大家只需把它看成是学习汇编语言的一个示例即可。

 

 

 

       由 Windows开始菜单启动命令提示符,把当前目录,变更到 Sample4.c保存的文件夹后,输人下面的命令并按下 Enter 键。bcc32 是启动Borland C++编译器的命令。“-c”选项指的是,仅进行编译而不进行链接”。“-S”选项被用来指定生成汇编语言的源代码。

       bcc32 -c-s Sample4.c

       作为编译的结果,当前目录下会生成一个名为 Sample4.asm 的汇编语言源代码。汇编语言源文件的扩展名,通常用“.asm”来表示。下面就让我们使用记事本来看一下 Sample4.asm 的内容。可以发现,C语言的源代码和转换成汇编语言的源代码是交叉显示的。而这也为我们对两者进行比较学习提供了绝好的教材。在该汇编语言代码中,分号(;)以后是注释。由于C语言的源代码变成了注释,因此就可以直接对 Sample4.asm进行汇编并将其转换成本地代码了(代码清单 10-2)。

 

 

 

标签:10.2,汇编语言,C语言,Sample4,编译器,源代码,asm
From: https://www.cnblogs.com/24koi/p/17117968.html

相关文章