常用汇编命令od使用命令总结笔记.docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
常用汇编命令od使用命令总结笔记

编 32位CPU所含有的寄存器有: 4个数据寄存器(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),每个寄存器都有自己的名称,可独立存取。 寄存器EAX通常称为累加器(Accumulator)? ???用累加器进行的操作可能需要更少时间。可用于乘、 除、输入/输出等操作,使用频率很高;? 寄存器EBX称为基地址寄存器(Base Register)它可作为存储器指针来使用;? 寄存器ECX称为计数寄存器(Count Register)?在循环和字符串操作时,要用它来控制循环次数;在位操作中,当移多位时,要用CL来指明移位的位数;? 寄存器EDX称为数据寄存器(Data Register)? ?在进行乘、除运算时,它可作为默认的操作数参与运算,也可用于存放I/O的端口地址 注意:在16位CPU中,AX、BX、CX和DX不能作为基址和变址寄存器来存放存储单元的地址, ? ?? ?? ? 在32位CPU中,其32位寄存器EAX、EBX、ECX和EDX不仅可传送数据、暂存数据保存算术逻辑运算结果, 2个变址和指针寄存器(ESI和EDI)?其低16位对应先前CPU中的SI和DI,对低16位数据的存取,不影响高16位的数据。寄存器ESI、EDI、SI和DI称为变址寄存器(Index Register),它们主要用于存放存储单元在段内的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。 2个指针寄存器(ESP和EBP)其低16位对应先前CPU中的BP和SP,对低16位数据的存取,不影响高16位的数据。32位CPU有2个32位通用寄存器EBP和ESP。它们主要用于访问堆栈内的存储单元。寄存器EBP、ESP、BP和SP称为指针寄存器(Pointer Register),主要用于存放堆栈内存储单元的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。指针寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。 EBP为基指针(Base Pointer)寄存器,用它可直接存取堆栈中的数据? ESP为堆栈指针(Stack Pointer)寄存器,用它只可访问栈顶? 6个段寄存器(ES、CS、SS、DS、FS和GS)段寄存器?段寄存器是根据内存分段的管理模式而设置的。内存单元的物理地址由段寄存器的值和一个偏移量组合而成 的,这样可用两个较少位数的值组合成一个可访问较大物理空间的内存地址。 CPU内部的段寄存器: ECS——代码段寄存器(Code Segment Register),其值为代码段的段值;? EDS——数据段寄存器(Data Segment Register),其值为数据段的段值;? EES——附加段寄存器(Extra Segment Register),其值为附加数据段的段值;? ESS——堆栈段寄存器(Stack Segment Register),其值为堆栈段的段值;? EFS——附加段寄存器(Extra Segment Register),其值为附加数据段的段值;? EGS——附加段寄存器(Extra Segment Register),其值为附加数据段的段值。 1个指令指针寄存器(EIP)? ?指令指针EIP、IP(Instruction Pointer)是存放下次将要执行的指令在代码段的偏移量。? 1个标志寄存器(EFlags) 1、进位标志CF(Carry Flag)?? 进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0。使用该标志位的情况有:多字(字节)数的加减运算,无符号数的大小比较运算,移位操作,字(字节)之间移位,专门改变CF值的指令等。 2、奇偶标志PF(Parity Flag) 奇偶标志PF用于反映运算结果中“1”的个数的奇偶性。如果“1”的个数为偶数,则PF的值为1,否则其值为0。利用PF可进行奇偶校验检查,或产生奇偶校验位。在数据传送过程中,为了提供传送的可靠性,如果采用奇偶校验的方法,就可使用该标志位。 3、辅助进位标志AF(Auxiliary Carry Flag) 在发生下列情况时,辅助进位标志AF的值被置为1,否则其值为0: (1)、在字操作时,发生低字节向高字节进位或借位时; (2)、在字节操作时,发生低4位向高4位进位或借位时。 对以上6个运算结果标志位,在一般编程情况下,标志位CF、ZF、SF和

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档