C程序怎样转成汇编,用来学汇编 (谢谢)
C程序怎样转成汇编,用来学汇编 (谢谢) 问题点数:0、回复次数:21Top
1 楼wuanswer(hello)回复于 2004-08-03 02:15:25 得分 0
我不知道。
帮你upTop
2 楼programfanny()回复于 2004-08-03 02:41:28 得分 0
tcc /s filenameTop
3 楼dunkel(内心和夜 哪个黑)回复于 2004-08-03 07:32:07 得分 0
如果是开始学汇编的话, 不赞成看将 c 转成的汇编. 因为它涉及的东西比较多, 很容易抓不住要点Top
4 楼allen_wang(IA32 architecture)回复于 2004-08-03 10:15:17 得分 0
linux下gcc加-S参数。不过编译出来的是AT&T格式的汇编。
同时也不建议一开始这么作,但是如果对汇编有理解后,这样作不错,至少是调试程序的利器。Top
5 楼FlyindanceDDr(我为君狂)回复于 2004-08-03 12:18:15 得分 0
建议先学汇编,vc的调试工具可以显示出c的汇编级代码Top
6 楼sboom(+-LingCh-+)(爱美人不爱VC)回复于 2004-08-04 23:12:29 得分 0
有反编译工具,转回来的汇编很难看的。因为编译器的缘故,有写做了优化,有些为了统一兜了个大圈Top
7 楼xinsun(流浪的猫眯)回复于 2004-08-05 00:45:15 得分 0
从基础的汇编指令开始学起。然后用VC的调试工具,将每一行的C代码转成相对应的汇编代码。对于理解汇编有很大的帮助Top
8 楼robin97(smile)回复于 2004-08-05 16:28:28 得分 0
用vc编译,增加编译选项 : /FAcs 你会得到一个*.cod文件,用记事本打开,你会得到你想要的一切
注意大小写,必须这样Top
9 楼panpeter(pan_peter)回复于 2004-08-06 19:29:31 得分 0
其实最基础的在c中用汇编的话,最简单的就是在汇编指令前加一个标记(可能说法不标准,能用就好啊,呵呵),例如mov ax,bx在c 中写就是asm 'mov ax,bx';,不过各个编译器各有不同的标准啊,你看看help就可以了。不过有个缺点,就是编译后的obj文件巨大,你可以自己写个com调用。
好了,小弟用的是小猫,下了先,我的qq是59377969,有机会讨论吧Top
10 楼panpeter(pan_peter)回复于 2004-08-06 19:34:04 得分 0
反过来的话,把c程序转化为汇编语言,用win32dsm这个程序就好了,仔细研究研究会看出的大概的。。。。。
Top
11 楼kugou123(酷狗)(彪悍的人生,不需要解释 www.xiaozhou.net)回复于 2004-08-07 19:30:08 得分 0
用编译器反汇编你的C代码。Top
12 楼panpeter(pan_peter)回复于 2004-08-15 21:57:55 得分 0
如果你不用我推荐的哪个win32dsm的话,我推荐一种用于将c与汇编集成的方法:
写出c的程序框架:void add(int,int){},保存为add.c,之后用tc中的tcc /s add.c,得到asm文件,打开后在;{......与;}之间加入汇编代码,就可以将c与asm集成.不过假如用tcc把有过程的c代码转化的化,会太难懂的,至少对于初学者很难的,还是好好看8086汇编的书一步一步来吧Top
13 楼panpeter(pan_peter)回复于 2004-08-15 21:59:19 得分 0
顺便问一下什么是AT&T格式的汇编啊
我对于概念不太了解的Top
14 楼liulangzhong(流浪)回复于 2004-08-16 01:25:00 得分 0
汇编语言有两种,一种是AT&T汇编,另外一种是intel汇编Top
15 楼hellwolf(地狱狼)(活着)(死磕)回复于 2004-08-17 10:17:24 得分 0
gcc -STop
16 楼Garriot(自由枪骑兵)回复于 2004-08-25 16:40:57 得分 0
如果你用watcom的编译器会方便一点,它的ide里有一个disassemble选项,还有一个edit disassemble 选项,你可以用他查看编译出来的汇编代码,而且是和c语言对应的Top
17 楼likeforever(年青人)回复于 2004-08-25 22:51:47 得分 0
用vc6也可以,里面也有disassemble,是用于源码级调试的,你看看就知道了Top
18 楼langziji(大象)回复于 2004-08-31 15:36:47 得分 0
MARK
学习...Top
19 楼mpg(三人行)回复于 2004-08-31 15:56:29 得分 0
还是用调试工具好Top
20 楼maijian(asmvc)回复于 2004-09-01 08:18:23 得分 0
你在VC写了C程序后,选择调试,就会看到汇编了Top
21 楼PhoenixWaVe(WangWei)回复于 2004-09-02 11:08:08 得分 0
回复人: likeforever(年青人) ( ) 信誉:100 2004-08-25 22:51:00 得分: 0
用vc6也可以,里面也有disassemble,是用于源码级调试的,你看看就知道了
回复人: maijian(asmvc) ( ) 信誉:91 2004-09-01 08:18:00 得分: 0
你在VC写了C程序后,选择调试,就会看到汇编了
这两位仁兄说的极是了
不过,有许多地方你是看不懂的 c会添加很多东西,比如堆栈的检查,寄存器的检查
等等
我个人感觉你的学习方法不对--用C学汇编
反过来倒可以,用汇编学C,这样你能十分清楚的知道C具体做了些什么
正如FlyindanceDDr所说
回复人: FlyindanceDDr(我为君狂) ( ) 信誉:100 2004-08-03 12:18:00 得分: 0
建议先学汇编,vc的调试工具可以显示出c的汇编级代码
Top




