
汇编学习
brk1985
这个作者很懒,什么都没留下…
展开
-
mo汇编move指令用法
传送指令 MOV (move)指令的汇编格式:MOV DST,SRC指令的基本功能:(DST)指令支持的寻址方式:目的操作数和源操作数不能同时用存储器寻址方式,这个限制适用于所有指令。指令的执行对标志位的影响:不影响标志位。指令的特殊要求:目的操作数DST和源操作数SRC不允许同时为段寄存器;目的操作数DST不能是CS,也不能用立即数方式。move指令是数据的传送,即拷转载 2014-04-14 18:02:40 · 11791 阅读 · 0 评论 -
用VS2010构建MASM的编程环境
用Visual Studio.net 2010构建MASM编程环境并不复杂,这里将关键步骤总结一下,方便学习。如需进一步学习,可以参阅《Inetl汇编语言程序设计》一书的作者Kip R. Irvine的文章Getting Started with MASM 。 1. 构建空的解决方案 我的习惯是将每一章中的所有例子放置在同一个解决方案中。比如《Inetl汇编语言程序设计》转载 2014-06-20 11:23:15 · 737 阅读 · 0 评论 -
汇编中各寄存器的作用
4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)1、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。32位CPU有4个32位的通用寄存器EA转载 2014-06-19 10:37:49 · 612 阅读 · 0 评论 -
汇编语言:进位标志与溢出标志
对于非符号数来说,不存在溢出的问题,它的进位就相当于符号数中的溢出.而对于符号数来说,不存在进位的问题.两个正数相加(或一个正数减一个负数)得到负数,或是两个负数相加得到正数,就是溢出了.一个正数和一个负数相加不可能溢出转载 2014-06-12 15:49:58 · 11356 阅读 · 2 评论 -
call指令用法
CPU执行call指令时,进行两步操作:1、将当前的IP或CS和IP压入栈中;2、转移;call指令不能实现短转移。与jmp指令实现转移的原理相同。 1、依据位移进行转移的call指令 指令形式:call 标号 进行如下操作: (1)、sp=sp-2 (2)、ss*16+sp=ip (转载 2014-06-12 14:33:33 · 10547 阅读 · 0 评论 -
汇编指令全集
学习汇编语言,最关键的就在于汇编指令集的掌握以及计算机工作方式的理解,以下是80X86汇编过程中经常用到的一些汇编指令。从功能分类上来说,一共可分为一、 数据传送指令:MOV、XCHG、LEA、LDS、LES、PUSH、POP、PUSHF、POPF、CBW、CWD、CWDE。二、 算术指令:ADD、ADC、INC、SUB、SBB、DEC、CMP、MUL、DIV、DAA、DAS、AA转载 2014-06-09 11:12:22 · 14388 阅读 · 1 评论 -
【整理】几个汇编语句代码的解析
mov eax,0atext eax,eaxje xxxx,这个跳会跳吗?能详细解释下test eax,eax这是什么意思嘛?这样检测下来的结果不是永远相等的嘛!=================转载 2014-06-05 15:43:51 · 1925 阅读 · 0 评论 -
汇编中参数的传递和堆栈修正
在 Win32汇编中,我们经常要和 Api 打交道,另外也会常常使用自己编制的类似于 Api 的带参数的子程序,本文要讲述的是在子程序调用的过程中进行参数传递的概念和分析。一般在程序中,参数的传递是通过堆栈进行的,也就是说,调用者把要传递给子程序(或者被调用者)的参数压入堆栈,子程序在堆栈取出相应的值再使用,比如说,如果你要调用 SubRouting(Var1,Var2,Var3),编译后的最终代转载 2014-06-26 15:13:14 · 611 阅读 · 0 评论 -
汇编语言里 eax, ebx, ecx, edx, esi, edi, ebp, esp含义
eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。比方说:add eax,-2 ; //可以认为是给变量eax加上-2这样的一个值。这些32位寄存器有多种用途,但每一个都有“专长”,有各自的特别之处。EAX 是"累加器"(accumula转载 2014-06-05 13:43:43 · 1487 阅读 · 0 评论 -
汇编基础--cmp汇编指令
cmp是比较指令,cmp的功能相当于减法指令。它不保存结果,只是影响相应的标志位。其他的指令通过识别这些被影响的标志位来得知比较结果。 cmp指令格式: cmp 操作对象1, 操作对象2 计算 操作对象1 - 操作对象2 但不保存结果,只是根据结果修改相应的标志位。 举例假如此时eax = 0h 那么cmp eax, eax转载 2014-04-14 17:38:23 · 1388 阅读 · 0 评论 -
汇编里用到的常用寄存器
ebp和esp是32位的SP,BP esp是堆栈指针 ebp是基址指针 ESP与SP的关系就象AX与AL,AH的关系.32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP)转载 2014-04-14 18:06:27 · 967 阅读 · 0 评论 -
Window7的64位系统下配置32位的汇编环境的心得
1、项目属性-->配置属性-->原创 2014-06-20 11:37:20 · 1193 阅读 · 0 评论