《寄存器总结》word版

《寄存器总结》word版

ID:29638956

大小:64.50 KB

页数:4页

时间:2018-12-21

《寄存器总结》word版_第1页
《寄存器总结》word版_第2页
《寄存器总结》word版_第3页
《寄存器总结》word版_第4页
资源描述:

《《寄存器总结》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、EAX:累加寄存器ECX:计数寄存器,常用于计数EDX:数据寄存器,常用于数据传递EBX:基址寄存器,常用于地址索引ESP:ESP为堆栈指针,指向当前栈顶EBP:EBP为帧指针,当前活动记录的顶部ESI:变址寄存器,源地址指针,存储单元在段内的偏移量,EDI:变址寄存器目标地址指针EIP:指令寄存器,存放当前指令的下一条指令的地址ES:附加段寄存器CS:代码段寄存器SS:堆栈段寄存器DS:数据段寄存器FS:寄存器指向当前活动线程的TEB结构000指向SEH链指针004线程堆栈顶部008线程堆栈底部00CSubSystemTib010FiberData

2、014ArbitraryUserPointer018FS段寄存器在内存中的镜像地址020进程PID024线程ID02C指向线程局部存储指针030PEB结构地址(进程结构)034上个错误号GS:全局寄存器EFL:标志位寄存器,各标志位的含义如下图,DF:是控制标志位为方向标志,在串处理指令中控制处理信息的方向用。当DF为1时,每次操作后使变址寄存器SI和DI减小,这样就使串处理从高地址向低地址方向处理。当DF为0时相反.TF当TF被置为1时,CPU进入单步执行方式,即每执行一条指令,产生一个单步中断请求。这种方式主要用于程序的调试ZF表示目的操作数结果

3、为零AF表示(AL为一个字节)相加进行到一半(低4位)有没有向另一半(高4位)进位,也可以表示是否借位(减法)PF表示为偶数CF表示已经发生进位,也可以表示借位操作标志位寄存器汇编指令LAHF    标志寄存器传送,把标志装入AH.SAHF  标志寄存器传送,把AH内容装入标志寄存器.PUSHF  标志入栈.POPF    标志出栈.PUSHD32位标志入栈.POPD32位标志出栈.浮点寄存器:(80位)ST0ST1ST2ST3ST4ST5ST6ST7FST:协处理器状态寄存器FCW:浮点控制寄存器具体参考http://download.intel.

4、com/design/processor/manuals/253665.pdfMM0:多媒体指令寄存器MM1MM2MM3MM4MM5MM6MM7DR0:调试寄存器DR1DR2DR3DR4DR5DR6DR7CR0:控制寄存器CR1CR2CR3CR4CR5CR6CR7TR0:任务寄存器TR1TR2TR3TR4TR5TR6TR7XMM0:单指令,多数据寄存器FS:得到KERNEL32.DLL基址的方法assumefs:nothing;打开FS寄存器moveax,fs:[30h];得到PEB结构地址moveax,[eax+0ch];得到PEB_LDR_DAT

5、A结构地址movesi,[eax+1ch];InInitializationOrderModuleListlodsd;得到KERNEL32.DLL所在LDR_MODULE结构的InInitializationOrderModuleList地址movedx,[eax+8h];得到BaseAddress,既Kernel32.dll基址获得pted结构汇编代码TEB*pteb=NULL; __asmmoveax,fs:[18h] __asmmovpteb,eax对于协处理器中状态寄存器的内容,程序员可用指令FSTSW把其值送到内存单元中。如果当前使用的是8

6、0287及其以后的协处理器,那么,可用指令“FSTSW AX”把该状态寄存器的值传送给通用寄存器AX。一旦状态寄存器的值复制到内存或AX中,那么,就可对其各位进行分析,并可检测出当前协处理器的工作状态。对于80287协处理器,它还可通过I/O地址00FAH~00FFH来实现其与CPU之间的数据交换,而80387~Pentium系列芯片,则是通过I/O地址800000FAH~800000FFH来实现这两者之间的数据交换。当状态寄存器的内容传给AX之后,一般可用下面二种方法来检测协处理器的状态。方法1:用TEST指令来检测其相应的状态位。例11.3 检测

7、是否有“0作除数”的错误。 FDIV   DATA1 ;用协处理器中堆顶数据去除DATA1FSTSW AX   ;把状态寄存器的值传送给AXTEST AX, 4  ;测试第2位,即:检测ZE是否为1JNZDIV_ERR例11.4 检测是否有“非法操作数”的错误。 FSQRT;求协处理器中堆顶数据的平方根FSTSWAXTESTAX, 1;测试第0位,即:检测IE是否为1JNZSQRT_ERR方法2:用SAHF指令把AX的低字节传送给CPU的标志位寄存器,然后再用条件转移指令来完成相应的检测。 例11.5 检测内存单元的数据与协处理器堆顶数据之间的大小关

8、系。 FCOMDATA1;内存单元DATA1的值与协处理器堆顶数据进行比较FSTSWAXSAHF;把AX的低

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。