VC 下的汇编实例

汇编一void func() { goto C_Dest; /* 合法 */ //goto c_dest; /* 错误 */ goto A_Dest; /* 合法 */ goto a_dest; /* 合法 */ __asm { JMP C_Dest ; 合法 ;JMP c_dest ; MSDN上说合法,但是我在VS.NET中编译,认为这样不合法 JMP A_Dest ; 合法 JMP a_dest ; 合法 ...
2010-07-02 23:04 | 阅读 1880 次 | 评论 1 条

反汇编深入分析函数调用

函数:int fun(int a, int b) { char var[128] = "A"; a = 0x4455; b = 0x6677; return a + b;} int main() { fun(0x8899,0x1100); return 0;}  F11跟踪到fun,alt+8看反汇编代码:  00401078 push 1100h //参数压栈,这里遵循__cdecl调用规范,参数由右向左  0040107D push 8899h//压栈  00401082 call @ILT+0(_fun) (00401005)  00401087 add esp,8//被调用函数...
2008-11-03 05:58 | 阅读 6584 次 | 评论 0 条

MMX指令集简介

1、 MMX指令集简介: [数据传输指令] movq //传输64位整数 movd //传输32位整数 [数据打包转换指令] PACKSSWB //Pack words into bytes with signed saturation. PACKSSDW //Pack doublewords into words with signed saturation. PACKUSWB //Pack words into bytes with unsigned sa...
2008-11-02 15:10 | 阅读 6090 次 | 评论 0 条

以实例分析 INVOKE 和 call区别

http://bbs.bccn.net/thread-238091-1-1.htmlINVOKE是编译器支持的伪指令,会检查参数. CALL会直接去栈里取参. INVOKE最后也会变成 PUSH PUSH ... CALL 的形式.TASM5.0:extrn ExitProcess:proccall ExitProcess,0:0040103C 6A00 push 00000000:0040103E E8B5020000 call KERNEL32.ExitProcessMASM32:invoke ExitProcess,NULL:0...
2008-11-01 13:20 | 阅读 5964 次 | 评论 1 条

MASM宏使用总结

MASM宏使用总结 td.general1 { background-color : #ffcc00; } td.general2 { background-color : #CCCC99; } td.general3 { background-color : #cccc99; } td { font-size: 11px; } body { margin-left : 10%; margin-top : 10; margin-right : 10%; margin-bottom : 2; font-family: verdana, arial, he...
2008-10-14 16:10 | 阅读 5961 次 | 评论 1 条

汇编代码结构

.386.model flat,stdcall.data.codestart1:end start1汇编代码开始并不一定是start标志,start标志只是一个普通的标示符,只是大家习惯使用而已
2008-10-14 15:41 | 阅读 5526 次 | 评论 2 条
浏览1943228次