易截截图软件、单文件、免安装、纯绿色、仅160KB

C到汇编的详细讲解

汇编揭秘C语言中的参数传递问题[zz]
文章作者:cook702
很多学习汇编的朋友想必对C也比较了解,因为在当前大学的课程体系里,它很有可能就是你接触到的第一门编程语言。由于对计算机的理解不够,学习时必定会遇
到各种问题。有些问题是你通过思考就可以解决的,而更多的问题则是你无从思考,就好像它天生就是这样,你只要记住就OK了。然而这样的学习方式是机械的,
更是没有创造力的。只有真正理解了C语言,你才有能力去驾驭它,否则它和你之间永远会隔着一层窗户纸,虽然很薄,但是你永远也捅不透。这是为什么呢?其实
道理很简单,就好比在一个公司有现成的代码库可以调用,有的程序员遇到问题时,他唯一可作的就是调用代码库中的功能模块,完事后就万事大吉。而有的程序员
则是只要有时间宁可自己实现。即使没有时间,调用完代码库中的功能模块,他还会想,如果是自己,这个功能应该如何实现,代码库中的模块是否有不妥之处,进
而对其功能不断进行改进和完善。这可能就是专业和非专业的重要区别。而那些不善于思考的程序员,将来很有可能就会成为我们眼中的“代码工人”。
那么如何才能真正理解C语言呢?答案就是汇编。汇编指令是机器指令的助记符表示,任何高级语言要想被计算机执行,都必须转化为一条条的机器指令,而它又与
汇编指令一一对应,通过分析汇编指令,就能真正理解C语言在计算机中的运行机理,只有这样才算真正掌握了C语言,然而如何通过汇编指令分析C语言,很多朋
友还不是很熟悉,或者根本就不知道。在有些人的脑子里,C语言是直接被CPU执行的,根本就不会想到还有汇编这一层。而对汇编只是懂点皮毛的,此时也只能
是心有余而力不足。在此,我就用汇编语言来揭开C语言参数传递的真正面纱。首先我们来写一个最简单的C语言源程序t.c如下:
main(){}
然后我们在Turboc集成开发环境下生成可执行文件t.exe,接着我们用debug命令加载此文件,查看里面的汇编代码后发现
C:\c>debug t.exe
-u
0C1C:0000 BA720C        MOV     DX,0C72
0C1C:0003 2E            CS:
0C1C:0004 8916F801      MOV     [01F8],DX
0C1C:0008 B430          MOV     AH,30
0C1C:000A CD21      &nbs


相关文档:

在VC6中使用c API方式连接MySQL数据库

在VC6中使用c API方式连接MySQL数据库
一、环境配置
1、在MySql的官方网站下载mysql-connector-c-noinstall,并将解压后的bin和include文件夹拷贝到Mysql的安装目录
2、设置VC6环境,在vc工具-选项-目录,加入刚才的Include文件夹的路径,例如:C:\Program Files\MySQL\MySQL Server 5.1\include
二、工程设置
3、将li ......

c判断汉字

#include <windows.h>
int IsGB(PTSTR pText);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
     PSTR szCmdLine, int iCmdShow)
{
 static TCHAR szText[] = {TEXT ("i服,了。uy")} ;
 PTSTR pText;
 int i;
 unsigned char ......

Linux C 开发环境(debian)

#apt-get install gcc (编译器)
#apt-get install gdb (调试)
#apt-get install libc6-dev (开发库)
如果没有开发库,gcc的时候就会错误
gcc h.c
h.c: In function ‘main’:
h.c:1: warning: incompatible implicit declaration of built-in function ‘prin ......

Decrease the size of C:\Windows\Installer

http://social.msdn.microsoft.com/Forums/en/sqltools/thread/07db294a-79e5-4a5a-916c-6a51e44a5aa4
http://www.pcreview.co.uk/forums/thread-211705.php
Download "MsiZap.exe" from http://support.microsoft.com/default.aspx?scid=kb;en-us;290301 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号