文档详情

第2章微处理器及其体系结构.docx

发布:2017-04-08约1.13万字共85页下载文档
文本预览下载声明
第2章 微处理器及其体系结构 罗文坚 中国科大 计算机学院 /~wjluo/mcps/ 本章内容 程序设计模型 程序可见的寄存器:程序设计期间必须使用的。 程序设计模型 程序不可见的寄存器:在应用程序设计期间不能直接寻址,但系统程序设计期间可能间接使用到。 只有80286及更高档的微处理器才包含程序不可见寄存器,用于控制和操作保护模式存储系统和其他特征。 程序设计模型 8086~Core2 包括64位扩展 8位寄存器 16位寄存器 32位寄存器 64位寄存器 多功能寄存器 又称为通用寄存器 专用寄存器 程序设计模型 8086,8088和80286包含16位内部结构。 80386~Core2包括全部的32位内部结构。 Pentium 4和Core2在使用64位模式操作时,也包括64位寄存器。 程序设计模型 8位寄存器 AH,AL,BH,BL,CH,CL,DH,DL 例如,ADD AL, AH 16位寄存器 AX,BX,CX,DX,BP,SI,DI,SP IP,FLAGSA CS,DS,ES,SS,FS,GS 例如,ADD DX,CX 注意1:AX,BX,CX,DX个包含2个8位寄存器。 注意2:FS和GS值用于80386以上微处理器。 程序设计模型 32位寄存器 EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP EIP,EFLAGS 例如,ADD ECX,EBX 注意:只用于80386以上微处理器。 64位寄存器 RAX,RBX,RCX,RDX,SRI,RDI,RBP,RSP RIP,RFLAGS R8,R9,R10,R11,R12,R13,R14,R15 例如,ADD RCX, RBX 64位模式下的程序设计模型 64位模式下,需注意: 64位寄存器R8~R15是可以按照字节、字、双字或者四字的方式寻址的。8位部分是最低8位。 不支持把其中的第8~15位作为1字节来直接寻址。 高字节寄存器(AH、BH、CH、DH)不能与由R8~R15所表示的字节在同一指令中寻址。 寄存器大小 控制字 访问位数 示例 8位 B 7~0 MOV R9B, R10B 16位 W 15~0 MOV R10W, AX 32位 D 31~0 MOV R14D, R15D 64位 —— 63~0 MOV R13, R12 多功能寄存器 RAX(累加器,Accumulator) RAX,EAX,AX,AH,AL 在乘法、除法及一些调整指令中有专门用途。 在386以上微处理器中,EAX及RAX可用于保存访问存储单元时的偏移地址。 RBX(基址,Base) RBX,EBX,BX,BH,BL 可用于保存访问存储单元时的偏移地址。 多功能寄存器 RCX(计数,Counter) RCX,ECX,CX,CH,CL 可保存许多指令的计数值,如移位指令、循环指令、串指令等。 在386以上微处理器中,ECX及RCX可用于保存访问存储单元时的偏移地址。 RDX(数据,DATA) RDX,EDX,DX,DH,DL 可用于保存乘法形成的部分结果,或除法指令的部分被除数。 在386以上微处理器中,EDX及RDX可用于保存访问存储单元时的偏移地址。 多功能寄存器 RBP(基指针, Base Pointer) RBP,EBP,BP 可用于保存访问存储单元时的偏移地址。 RDI(Destination Index) RDI,EDI,DI 可用于保存访问存储单元时的偏移地址。 常用于寻址串指令的目的操作数。 RSI(Source Index) RSI,ESI,SI 可用于保存访问存储单元时的偏移地址。 常用于寻址串指令的源操作数。 多功能寄存器 R8~R15 只存在于Pentium 4和Core 2中64位扩展允许的情况下。 这些寄存器中的数据是用于通用目的的。 可以按照64、32、16、8位大小寻址。 8位部分是寄存器最右边的8位。 第8位~第15位不能按照一个字节直接寻址。 专用寄存器 专用寄存器包括: RIP(指令指针) RSP(堆栈指针) 很多参考书把RSP作为一个通用寄存器 RFLAGS(标志寄存器) CS,DS,ES,SS,FS,GS(段寄存器) RIP(指令指针) RIP:在64位模式中,包括40位地址,指向要执行的下一条指令的偏移值,该偏移值相对于指令所在代码段的基地址(段基址) EIP:32位指令指针,用于32位微处理器中。 IP:在8086和80286中,指令指针为16位寄存器。 程序员不能对RIP/EIP/IP进行直接存取操作。程序中的转移指令、返回指令以及中断处理能对RIP/EIP /IP进行操作。 RSP(堆栈指针) RSP RSP,ESP,SP 用于寻址一个称为堆栈的存储区。 RFLAGS(标志寄存器) RFLAGS:用于指示微处理器的状态并控
显示全部
相似文档