- 6
- 0
- 约7.99千字
- 约 11页
- 2019-10-15 发布于山西
- 举报
OD使用须知常识,CPU寄存器和汇编指令
用OD和CE,不断找汇编资料,解读指令,实在是累。总算找到篇比较完整的资料与大家分享。?32位CPU所含有的寄存器有:?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位的通用寄存器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不仅可传送数据、暂存数据保存算术逻辑运算结果,?而且也可作为指针寄存器,所以,这些32位寄存器更具有通用性。?2、变址寄存器?32位CPU有2个32位通用寄存器ESI和EDI。?其低16位对应先前CPU中的SI和DI,对低16位数据的存取,不影响高16位的数据。?寄存器ESI、EDI、SI和DI称为变址寄存器(Index Register),它们主要用于存放存储单元在段内的偏移量,?用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。?变址寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。?它们可作一般的存储器指针使用。在字符串操作指令的执行过程中,对它们有特定的要求,而且还具有特殊的功能。?3、指针寄存器?其低16位对应先前CPU中的BP和SP,对低16位数据的存取,不影响高16位的数据。?32位CPU有2个32位通用寄存器EBP和ESP。?它们主要用于访问堆栈内的存储单元,并且规定:?EBP为基指针(Base Pointer)寄存器,用它可直接存取堆栈中的数据; ?ESP为堆栈指针(Stack Pointer)寄存器,用它只可访问栈顶。 ?寄存器EBP、ESP、BP和SP称为指针寄存器(Pointer Register),主要用于存放堆栈内存储单元的偏移量,?用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。?指针寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。?4、段寄存器?段寄存器是根据内存分段的管理模式而设置的。内存单元的物理地址由段寄存器的值和一个偏移量组合而成?的,这样可用两个较少位数的值组合成一个可访问较大物理空间的内存地址。?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),其值为附加数据段的段值。 ?在16位CPU系统中,它只有4个段寄存器,所以,程序在任何时刻至多有4个正在使用的段可直接访问;在32位?微机系统中,它有6个段寄存器,所以,在此环境
您可能关注的文档
- OCR文字识别技术的应用.doc
- OCR文字识别系统.doc
- ODBC桥驱动连接SQL Server 2005或者Oracle步骤.doc
- OES非接触光电速度传感器.doc
- Office 2007及2010图表添加误差线.doc
- 2025国家能源投资集团有限责任公司宁夏工业职业学院毕业生专考前自测高频考点模拟试题最新.docx
- 2025国检集团西北运营中心特种设备招聘(23人)笔试备考试题附答案.docx
- 2025四川绵阳盐亭丝路源文化旅游发展有限公司招聘工作人员13笔试参考题库最新.docx
- 2025四川长虹电源股份有限公司招聘锂电池系统设计师等岗位64模拟试卷最新.docx
- 2025四川甘孜州康定市选调教育、卫生事业人员13人备考题库最新.docx
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
原创力文档

文档评论(0)