摘要: 汇编部分0、call、ret、push、pop、add、sub都可以操作堆栈,栈顶比栈底的地址小,由esp寄存器指向;1、call 的本质相当于push+jmp,ret的本质相当于pop+jmp。 call用来调用函数,先将下一条指令的地址压栈,再跳转到调用函数的开始处;ret弹出返回指令,再跳转;2、数据传送指令: mov dst,src :数据移动指令; xor eax,eax :快捷的清零指令; lea edi,[ebp-0cch] :load effect address,方括号表示存储器,即ebp-0cch地址处得内容,该指令取得该内容的地址-... 阅读全文
posted @ 2011-07-07 17:48 飞翔荷兰人 阅读(1014) 评论(0) 推荐(0) 编辑
摘要: 1、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。4个16位寄存器又可分割成8个独立的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX:DH-DL),每个寄存器都有自己的名称,可独立存取。程序员可利用数据寄存器的这种“可分可合”的特性,灵活地处理字/字节的信息。寄存器AX和AL通常称为累加器(Accumulator 阅读全文
posted @ 2011-07-07 16:21 飞翔荷兰人 阅读(548) 评论(0) 推荐(0) 编辑

I Love Lina~