心越静,思考的越透彻.不要着急,宇宙有求必应!我可能是最笨的才会写出来进行思考,写出来至少自己在碰到这些本质上的问题不会再度卡壳.本着"没有交流的思考不是完整的思考"的原则,我将这篇文章发出来,如果能引发出你的共鸣,那么请像我一样.期待与你的交流! 在AU3论坛中找到了篇帖子为这个问题作为参考:白痴问个比较白痴的问题:在实际中我到底怎么样才会用到BitOR,BitAND,BitXOR? AU3中的BitAnd.BitOr.BitNot.BitXor.And.Or.Not:分别对应汇编中…
Enter的作用相当==push ebp和mov ebp,esp 这后面两句大家很熟悉吧?函数开始一般都是这两句 Leave的作用相当==mov esp,ebp和pop ebp 而这后面这两句也很常见,函数调用完后一般的用到 以上的Enter和leave的作用分别函数开始和结束 Win32汇编中局部变量的使用方法可以解释一个很有趣的现象:在DOS汇编的时候,如果在子程序中的push指令和pop指令不配对,那么返回的时候ret指令从堆栈里得到的肯定是错误的返回地址,程序也就死掉了.但在Win32汇…
在主程序中用call指令来调用子程序. Win32汇编中的子程序也采用堆栈来传递参数,这样就可以用invoke伪指令来进行调用和语法检查工作. 一. 子程序的定义 子程序的定义方式如下所示. 子程序名  proc [距离][语言类型][可视区域][USES 寄存器列表][,参数:类型]...[VARARG]          local 局部变量列表          指令 子程序名  endp proc和endp伪指令定义了子程序开始和结束的位置, proc后面跟的参数是子程序的属性和输入参数…
win32 Dll 中添加afx.h 出现如下错误 nafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in ssmFunc.objnafxcwd.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 already defined in ssmFunc.obj; second definition ignored   Creating library Debug…
我的项目是Win32,先使用了 Standard Windows Libraries,可后期又要要使用MFC的dll,所以要更改工程属性 ,MFC 的dll可以使用了,但标准的windows的dll出了一大堆链接错误,于是上网查阅资料. 解决办法如下: 一.使用/MD选项,并在你的工程属性里添加 _AFXDLL 的定义(右键工程名->properties->C/C++->Preprocessor这一页下有Preprocessor Definitions 在这里添加) 二.使用/MT选项,…
标号(LABEL)是为一组机器指令所起名字,表示程序中的指令或者数据地址的符号.标号可有可无,只有当需要用符号地址来访问该语句时,才给此语句赋予标号.通过在目标地址的前面放上一个标号,可以在指令中使用标号来代替直接使用地址.标号是程序目标标志,总是和某地址相联系,供转移或循环指令控制转移使用. 标号是编译程序使用的,也就是说程序中最后生成的代码中标号都换成了相应的数值. 因标号表示是指令地址,所以它有三个属性,即段属性.偏移属性和类型属性.段属性即段地址,标号段必须在CS中.偏移属性是表示该标号…
最近用WIN32 DLL,为了方便要用到MFC的一些库,又不想转工程,就网上找了很多方法,发现没有详细的介绍,有的也行不通,现在成功在WIN32 DLL中使用了MFC,记录一下以防以后用到忘记 一.修改预编译头文件(stdafx.h) 在stdafx.h文件中添加下面代码,包含一些MFC的头文件,这些可以在一个MFC工程中复制过来 #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // 某些 CString 构造函数将为显式的 #include <afxwin…
在X86汇编中,MOV [0012H], [0016H]这种指令是不允许的,至少得有一个操作数是寄存器.当然,这种问题在用高级语言的时候看不到,感觉好像基本上都是从内存到内存啊,为毛到了汇编就不行了???这个问题在stack overflow有个解释不错: The answer involves a fuller understanding of RAM. Simply stated, RAM can only be in two states, read mode or write mode.…
汇编中PTR的用法确实是令人比较头疼的,我特意搜集了一些PTR的应用实例,可以从例子中揣摩出规律: 1.MOV    WORD PTR [DI],OFFSET BUF1 2.SUB    BYTE   PTR BUF1(字型),CL 3.CALL   WORD  PTR [BX] 4.DEC    BYTE  PTR [SI+1200H] 5.CMP    AX,WORD  PTR [SI+0FA0H] 6.MUL    BYTE  PTR [BX] 7.JMP     WORD  PTR [B…
最近用WIN32 DLL,为了方便要用到MFC的一些库,又不想转工程,就网上找了很多方法,发现没有详细的介绍,有的也行不通,现在成功在WIN32 DLL中使用了MFC,记录一下以防以后用到忘记 一.修改预编译头文件(stdafx.h) 在stdafx.h文件中添加下面代码,包含一些MFC的头文件,这些可以在一个MFC工程中复制过来 1 #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // 某些 CString 构造函数将为显式的 2 3 #include <…