微机原理:第三章 Pentium微处理器的指令系统_第1页
微机原理:第三章 Pentium微处理器的指令系统_第2页
微机原理:第三章 Pentium微处理器的指令系统_第3页
微机原理:第三章 Pentium微处理器的指令系统_第4页
微机原理:第三章 Pentium微处理器的指令系统_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章Pentium微处理器的指令系统3.1概述3.2Pentium微处理器的寻址方式3.3数据传送指令3.4算术运算指令3.5逻辑运算指令3.6串操作指令3.7程序控制指令3.8保护模式的系统控制指令3.9浮点运算指令3.10MMX指令简介3.1概述指令是微处理器执行某种操作的命令,微处理器全部指令的集合称为指令系统。指令有两种书写格式:机器指令和符号指令。符号指令是用规定的助记符和规定的书写格式书写的指令。符号指令的书写格式为:操作码助记符操作数助记符MOVAL,110110000000000013.2Pentium微处理器的寻址方式寻址方式:寻找指令中操作数地址的方式。操作数有三种可能的存放方式:直接包含在指令中立即数立即数寻址包含在某个寄存器中寄存器操作数寄存器寻址在内存中存储器操作数(内存操作数)存储器寻址内存实际地址由两部分组成:存储单元所在段的基地址/段内偏移地址(偏移量)MOVES:[3000H],AL段内偏移地址可以由如下四个部分组成(称为偏移地址四元素):基址寄存器内容变址寄存器内容比例因子位移量由四元素组合形成的偏移地址称为有效地址EA:EA=基址+(变址比例因子)+位移量对于实模式(16位寻址):基址寄存器:BX,BP变址寄存器:SI,DI比例因子:0,1位移量:0,8,16位对于保护模式(32位寻址):基址寄存器:任何32位通用寄存器变址寄存器:除ESP外的任何32位通用寄存器比例因子:1,2,4,8位移量:0,8,32位由四元素可组合出9种存储器寻址方式。Pentium微处理器共有11种寻址方式:1.立即数寻址操作数作为立即数直接存在指令中,可为字节、字、双字MOVECX,12345678H低地址高地址CS段操作码78H56H34H12H78H56H34H12HECX2.寄存器寻址操作数包含在指令规定的8位、16位、32位寄存器中MOVECX,EDX78H56H34H12HECX78H56H34H12HEDX寄存器寻址由于无需从存储器中取操作数,故执行速度快3.直接寻址指令中的操作数部分直接给出操作数的有效地址EA,操作数可以是16位或32位整数,操作数默认在DS段中MOVAX,[3000H]低地址高地址CS段操作码00H30H34H12H34H12HAXDS段5000053000DS50000300053000+如果操作数在DS以外的其他段(CS,SS,ES,FS,GS)中,指令中必须指明段寄存器MOVAX,FS:[3000H]低地址高地址CS段操作码00H30H34H12H34H12HAXFS段2000023000FS20000300023000+4.寄存器间接寻址操作数地址的偏移量(有效地址EA)存放在寄存器中16位寻址:偏移地址放在SI,DI,BP,BX中以SI,DI,BX间接寻址,默认操作数在DS段中MOVAX,[SI]以BP间接寻址,默认操作数在SS段中MOVAX,[BP]32位寻址:偏移地址放在8个32位通用寄存器中除ESP,EBP默认段寄存器为SS外,其余均默认段寄存器为DSMOVEAX,[ESP]低地址高地址CS段操作码34H12H34H12HAXSS段7000073000SS70000300073000+MOVAX,[BP]BP5.基址寻址EA=[基址寄存器]+位移量16位寻址:BP,BX为基址寄存器BX,DS为默认段寄存器BP,SS为默认段寄存器32位寻址:8个32位通用寄存器均可作为基址寄存器,除ESP,EBP默认段寄存器为SS外,其余均默认段寄存器为DSMOVEAX,[BX+24]MOVDX,[EAX+1500]低地址高地址CS段操作码00H15H34H12H34H12HAXFS段7000073500BX150073500+MOVDX,[BX+1500]DS7000020006.变址寻址EA=[变址寄存器]+位移量16位寻址:SI,DI为基址寄存器,DS为默认段寄存器32位寻址:除ESP外其余7个32位通用寄存器均可作为变址寄存器,EBP默认SS为段寄存器,其余均默认段寄存器为DSMOVAH,[SI+5]变址寻址适用于对一维数组的元素进行操作。7.比例变址寻址EA=[变址寄存器]比例因子+位移量只适用于32位寻址

MOVEAX,[ESI*4+50]比例变址寻址适用于一维数组操作,当数组元素大小为2/4/8字节时,它更方便、有效8.基址加变址寻址EA=[基址寄存器]+[变址寄存器]适用于16位和32位寻址

MOVAX,[BX+SI]MOVEAX,[EDX+EBP]基址加变址寻址主要用于二维数组操作和二重循环9.基址加比例变址寻址EA=[变址寄存器]比例因子+[基址寄存器]只适用于32位寻址

MOVEAX,[EDX*8+EAX]适用于数组元素大小为2/4/8字节时二维数组操作10.带位移的基址加变址寻址EA=[基址寄存器]+[变址寄存器]+位移量适用于16位和32位寻址

MOVAX,[BX+SI+50]MOVEAX,[EDX+EBP+0FFFF000H]主要用于二维数组操作,位移量为数组起始地址11.带位移的基址加比例变址寻址EA=[变址寄存器]比例因子+[基址寄存器]+位移量只适用于32位寻址

MOVAX,[BX+SI+50]MOVEAX,[EDX+EBP+0FFFF000H]适用于数组元素大小为2/4/8字节时二维数组操作,位移量为数组起始地址3.3数据传送指令执行后不影响标志位,源操作数不变1.通用数据传送指令MOV目标操作数,源操作数1)源操作数可以是8/16/32位的立即数、寄存器操作数、内存操作数。目标操作数不允许为立即数,其余同源操作数。源、目不能同时为内存操作数。2)源、目操作数类型必须匹配MOVBYTEPTR[BX],12H3)不能向段寄存器写立即数MOVAX,2000MOVDX,AX4)以CS为目标的一切传送指令都是非法的MOVSX目标寄存器,源操作数符号扩展传送指令MOVDL,-16MOVSXBX,DLMOVZX目标寄存器,源操作数零扩展传送指令MOVDL,-16MOVZXBX,DLXCHG目标操作数,源操作数交换指令,源、目不能同为内存操作数XCHGAX,[SI+0400H]BSWAP32位寄存器字节交换指令,MOVEAX,12345678HBSWAPEAXXLAT表头变量名查表指令,用来取表中某指定数的值TABLEDB48,49,50,51,52,53,54,55,56,57MOVBX,OFFSETTABLEMOVAL,5XLATTABLE执行后AL=53LAHFSAHF标志寄存器传送指令2.堆栈操作指令PUSH

源操作数进栈指令,先调整堆栈指针,再把源操作数压栈PUSHAXPUSHDWORDPTR[SI+5]POP

目标操作数出栈指令,先将栈顶2/4字节送目标操作数,再调整堆栈指针POPAXPOPDWORDPTR[SI+5]PUSHFPOPF16位标志寄存器进栈/出栈指令PUSHFDPOPFD32位标志寄存器进栈/出栈指令PUSHAPOPA16位通用寄存器进栈/出栈指令PUSHADPOPAD32位通用寄存器进栈/出栈指令3.目标地址传送指令LEA目标寄存器,源操作数有效地址传送指令,源操作数为内存操作数,将内存单元的有效地址(而不是内容)传送到目标寄存器LEAEAX,[SI+5]LDS/LES/LFS/LGS/LSS目标寄存器,源操作数指针传送指令ADDRDD1A2B3C4DHLDSSI,ADDR4.I/O数据传送指令完成累加器和I/O端口之间的数据传送IN累加器,端口号端口号为8位时,直接寻址,最多可访问256个端口INAX,PORT端口地址为16位时,间接寻址,端口地址必须放在DX寄存器中,最多可访问65536个端口INAL,DXOUT端口号,累加器3.4算术运算指令加、减、乘、除,运算对象8/16/32位有符号/无符号整数,以及BCD码影响标志位1.加法指令ADD目标操作数,

源操作数源操作数+目标操作数——>目标操作数ADC目标操作数,源操作数源操作数+目标操作数+CF——>目标操作数影响A,C,O,P,S,Z6个标志位INC目标操作数目标操作数+1——>目标操作数影响A,O,P,S,Z5个标志位2.减法指令SUB目标操作数,源操作数目标操作数-源操作数——>目标操作数SBB目标操作数,源操作数目标操作数-源操作数-CF——>目标操作数DEC目标操作数目标操作数-1——>目标操作数NEG目标操作数0-目标操作数——>目标操作数影响A,C,O,P,S,Z6个标志

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论