
汇编
金士顿
这个作者很懒,什么都没留下…
展开
-
汇编里面关于lea与mov的区别
lea SI,D1是把D1的地址放入SI寄存器中。所以SI中的值会变的,变成的是D1的地址。而D1则是用户定义的一个内存数据的助记符。如果是mov SI,D1就会把D1的值放进SI。例如,D1 dw 0x0000汇编以后可能变成:地址 值0x9000 000x9001 00那么lea SI,D1,SI的值转载 2013-11-15 10:34:06 · 4361 阅读 · 0 评论 -
汇编指令lea
lea:load effective address。一般译作地址传递指令。看个例子: leal -8(%ebp), %eax //取出ebp寄存器的值并减去8赋给eax寄存器,ebp-8 -> eax //不进行间接寻址,直接把传送地址 作为对比看下一个指令: movl -8(%ebp),转载 2018-01-11 08:25:39 · 4050 阅读 · 0 评论 -
汇编学习第二课之 CS:IP,DS,SS:SP 寄存器
日期:2016-05-03 星期二 汇编学习方法,先熟悉下基本的汇编指令,然后开始看滴水逆向视频教程,逆向下基本的语句,比如条件语句,循环语句,等等.一定要自己多动手实践,才能更好的理解其中的原理.知道基本的原理后,去踏踏实实的写c代码来反汇编.1、DS寄存器(Data segment) CPU根据DS寄存器和任意一个通用寄存器的值或其他数值组成的数据段物理地址mov DS:[13ABH] ,12转载 2018-01-02 15:41:51 · 2169 阅读 · 0 评论 -
栈帧%ebp,%esp详解
首先应该明白,栈是从高地址向低地址延伸的。每个函数的每次调用,都有它自己独立的一个栈帧,这个栈帧中维持着所需要的各种信息。寄存器ebp指向当前的栈帧的底部(高地址),寄存器esp指向当前的栈帧的顶部(地址地)。下图为典型的存取器安排,观察栈在其中的位置入栈操作:push eax; 等价于 esp=esp-4,eax->[esp];如下图出栈操作:pop eax; 等转载 2018-01-03 10:46:48 · 8672 阅读 · 8 评论