任何情况下,在寄存器的使用上,BASM遵循如下的规则:? ASM 语句执行过程中,必须保存EDI、ESI、ESP、EBP、EBX 的值(5个寄存器,意思是可以用,但最后得恢复成原模原样)。? ASM 语句可以任意使用EAX、ECX、EDX(三个参数寄存器,也许是编译器提前帮我们存放了三个寄存器的值,...
分类:
其他好文 时间:
2014-11-21 23:10:02
阅读次数:
276
WEB安全概论 ——IPsec传输模式下ESP报文的装包与拆包过程一、IPsec (一)简介 互联网安全协定(英语:Internet Protocol Security,缩写为 IPsec),是透过对IP协议(互联网协议)的分组进行加密和认...
分类:
Web程序 时间:
2014-11-17 22:30:07
阅读次数:
668
任何程序在运行过程中都需要使用堆栈,操作系统为每一个程序(进程及线程)设置一个堆栈。在使用高级语言编程时,源程序中使用的函数调用、局部变量都要用到堆栈,由编译器来负责生成有关的机器指令。我的理解,堆栈就是维护当前线程中运行状态的一个数据结构,这种状态包括:需要传递的变量,函数的返回地址,局部变量等等。
与堆栈相关的 3 个寄存器是:SS, ESP, EBP。
ESP 寄存器中的内容作为堆栈的当...
分类:
其他好文 时间:
2014-11-17 17:50:33
阅读次数:
293
题意:给定区间[l,r],l 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define pb push_back 8 #define mp make_pair 9 #define esp 1e-810 #define...
分类:
其他好文 时间:
2014-11-07 14:36:50
阅读次数:
208
因为偶然的机会,工作中同事workshop中讲到了从编译角度理解TI芯片dsp函数的调度过程,主要是函数调度过程中寄存器的使用,这里总结下函数调度过程common的过程。
调用者开始调用函数,1.调用者将函数参数自右向左依次压栈;2.调用者将返回地址压入栈中;3.将寄存器ebp压栈(记录当前调用者栈底指针);4.将esp赋值给ebp(将当前调用者栈顶指针当作该函数的栈底指针);5....
分类:
其他好文 时间:
2014-11-01 23:14:40
阅读次数:
271
栈区:主要用来存放局部变量,传递参数,存放函数的返回地址。.esp始终指向栈顶,栈中的数据越多, esp的值越小。堆区:用于存放动态分配的对象,当你使用malloc和new等进行分配时,所得到的空间就在堆中。动态分配得到的内存区域附带有分配信息,所以你能够free和delete它们。数据区:全局,静...
分类:
移动开发 时间:
2014-11-01 17:29:43
阅读次数:
295
题意:求一个无向图的边权平均值最小的环思路:假设环中Σwi/t#include #include#include #include #define maxn 90000#define esp 0.00000001using namespace std;int head[maxn],point[max...
分类:
其他好文 时间:
2014-10-30 19:07:36
阅读次数:
225
EBP 栈底指针(会随进入不同的函数而改变, 更喜欢手动改变, 自动的有时会画蛇添足)ESP栈顶指针(永远指向栈顶)CAL调用函数(隐含操作是将EIP的值入栈, 并将EIP设置为CALL指向的地址)示例:main()函数中的EBP =ESP =12FF7Cvoid fun2(int a, int b...
分类:
其他好文 时间:
2014-10-18 09:44:37
阅读次数:
227
共同点: 从右向左压栈实参. 压栈顺序: 1.压实参 2. 压EIP值 3.进入函数后,压EBP值......区别:__cdecl 返回后ADD ESP, 4 (一个int参数)__stdcall返回前 RETN 04 (一个int参数)__fastcall 如果只有两个参数,则不需...
分类:
其他好文 时间:
2014-10-18 09:42:23
阅读次数:
200
ZOJ Problem Set - 3827Information Entropy
题目链接
题目大意:给你一个公式,然后给你n个变量x,求出这些x代入公式所得的值之和。
解题思路:普通的利用数学函数求和,只是要知道x = 0的时候,结果等于0.
代码:
#include
#include
#include
const double esp = 1e-9;
in...
分类:
其他好文 时间:
2014-10-14 13:53:58
阅读次数:
128