微机原理-第5版(周荷琴)-第14章 (1).ppt

微机原理-第5版(周荷琴)-第14章 (1).ppt

ID:53050589

大小:715.50 KB

页数:29页

时间:2020-04-16

微机原理-第5版(周荷琴)-第14章 (1).ppt_第1页
微机原理-第5版(周荷琴)-第14章 (1).ppt_第2页
微机原理-第5版(周荷琴)-第14章 (1).ppt_第3页
微机原理-第5版(周荷琴)-第14章 (1).ppt_第4页
微机原理-第5版(周荷琴)-第14章 (1).ppt_第5页
资源描述:

《微机原理-第5版(周荷琴)-第14章 (1).ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、第14章32位机指令系统和程序设计《微型计算机原理与接口技术》第5版本章主要内容14.180386新增指令和程序设计14.2浮点数的表示方法和奔腾处理器的SIMD技术14.3SIMD指令系统14.4利用SIMD指令进行程序设计80386~Pentium除与8086兼容,可直接处理8/16位操作数外,还增加了许多新的指令,能直接处理32位操作数。8086和80386,协处理器置于CPU芯片之外。80486DX和Pentium芯片内包含了能完成复杂浮点运算的协处理器(FPU)。奔腾处理器的SIMD指令,编程复杂,但非常有用,特别是在3D图像处理等方面。14.180386新增指令和程序设计14.

2、1.180386的寻址方式14.1.280386的新增指令14.1.3程序设计实例14.1.180386的寻址方式80386的寻址方式与8086类似,也可以分成立即数寻址、寄存器寻址和存储器寻址等三大类,但操作数可以是8位、16位和32位。以MOV指令的源操作数为例,概要介绍这几种寻址方式,主要介绍32位存储器寻址方式。1.立即数寻址操作数以立即数的形式出现在指令中。例14.1MOVEBX,12345678H;EBX←12345678HMOVDWORDPTR[MEM],0100FF20H;双字存储单元←0100FF20H2.寄存器寻址操作数在寄存器中的寻址方式,寄存器间、寄存器与存储器间可

3、以互相传送数据。例14.2MOVEAX,EBX;EAX←EBXMOVM_DWORD,EDX;存储单元←EDX注意:对于MOV指令,目标操作数与源操作数的长度必须一致,段寄存器之间不能传送数据,CS不能作目的操作数。3.存储器寻址操作数放在存储器中,需用不同方法求得它的物理地址,来获得操作数。保护模式下,计算机会根据逻辑地址,自动计算出线性地址,并把它转换成物理地址,再从中取出存储器操作数,或者将别的操作数送入该存储单元。逻辑地址由段选择子和偏移地址组成,可用“段寄存器:偏移量”来表示,并用显式、隐式或默认方式来指定段寄存器。由段选择子从GDT或LDT表中找到段描述符,获得段基地址等信息。段

4、基地址加上偏移地址等于物理地址。偏移地址的计算公式:偏移地址=基址+变址比例因子+位移量基址寄存器:EAX、RBX、ECX、EDX、EBP、ESP、EDI、ESI变址寄存器:EAX、RBX、ECX、EDX、EBP、EDI、ESI比例因子:1、2、4、8位移量:8位/32位立即数14.180386新增指令和程序设计14.1.180386的寻址方式14.1.280386的新增指令14.1.3程序设计实例14.1.280386的新增指令1.数据传送指令1)通用数据传送指令MOVZX,MOVSX若源和目的操作数长度不同,采用零扩展指令MOVZX和符号扩展指令MOVSX,实现数据传送。例14.6M

5、OVZXAX,BH设执行前,AX=1234H,BH=9EH,执行时将BH中的9EH零扩展为009EH,再传送至AX。指令执行后,AX=009EH,BH=9EH例14.7MOVSXAX,BH设执行前,AX=1234H,BH=9EH=10011110B,执行中将9EH符号扩展为FF9EH,即把BH的符号位“1”扩展到AH中。指令执行后,AX=FF9EH,BH=9EH2)堆栈操作指令PUSH,POP,PUSHA,POPA,PUSHAD,POPADPUSH的操作数可以是16/32位寄存器/存储器,还可以是8/16/32位立即数,但POP的操作数不能为立即数。例14.8PUSH1234H;将立即数1

6、234H压入堆栈PUSHEAX;将32位寄存器EAX内容压入堆栈并增加了PUSHA和PUSHAD指令,一条指令就可将所有通用寄存器内容压栈,弹出操作用POPA,POPAD。例14.9PUSHA;AX,CX,DX,BX,SP,BP,SI,DI顺序入栈PUSHAD;EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI;顺序压栈3)地址目标传送指令用于传送6字节地址指针,指针存在6个连续存储单元中,目的地址为“段寄存器:双字通用寄存器”。源操作数必须是存储器操作数,目的操作数为双字通用寄存器,段寄存器隐含在操作码中。适用于32位机多任务操作系统,1条指令完成多种功能。例14.10LDS

7、EBX,MEM;DS:EBX←MEM单元开始的内容LESEDI,MEM;ES:EDI←MEM单元开始的内容LSSESP,MEM;SS:ESP←MEM单元开始的内容LFSEDX,MEM;FS:EDX←MEM单元开始的内容LGSESI,MEM;GS:ESI←MEM单元开始的内容2.算术运算指令1)乘法指令80386对乘法指令IMUL进行了扩展:(1)立即数相乘用1个立即数与寄存器或存储器操作数相乘,结果放入指定寄存器,只能用

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

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

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