- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章Pentum微处理器的指令系统
* * 第三章 Pentium微处理器的指令系统 3.1 概述 3.2 Pentium微处理器的寻址方式 3.3 数据传送指令 3.4 算术运算指令 3.5 逻辑运算指令 3.6 串操作指令 3.7 程序控制指令 3.8 保护模式的系统控制指令 3.9 浮点运算指令 3.10 MMX指令简介 3.1 概述 指令是微处理器执行某种操作的命令,微处理器全部指令的集合称为指令系统。 指令有两种书写格式:机器指令和符号指令。 符号指令是用规定的助记符和规定的书写格式书写的指令。符号指令的书写格式为: 操作码助记符 操作数助记符 MOV AL, 1 00000001 3.2 Pentium微处理器的寻址方式 寻址方式:寻找指令中操作数地址的方式。 操作数有三种可能的存放方式: 直接包含在指令中 立即数 立即数寻址 包含在某个寄存器中 寄存器操作数 寄存器寻址 在内存中 存储器操作数(内存操作数) 存储器寻址 内存实际地址由两部分组成:存储单元所在段的基地址/段内偏移地址(偏移量) MOV ES:[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. 立即数寻址 操作数作为立即数直接存在指令中,可为字节、字、双字 MOV ECX, 低地址 高地址 CS段 操作码 78H 56H 34H 12H 78H 56H 34H 12H ECX 2. 寄存器寻址 操作数包含在指令规定的8位、16位、32位寄存器中 MOV ECX, EDX 78H 56H 34H 12H ECX 78H 56H 34H 12H EDX 寄存器寻址由于无需从存储器中取操作数,故执行速度快 3. 直接寻址 指令中的操作数部分直接给出操作数的有效地址EA,操作数可以是16位或32位整数,操作数默认在DS段中 MOV AX, [3000H] 低地址 高地址 CS段 操作码 00H 30H 34H 12H 34H 12H AX DS段 50000 53000 DS 5000 0 3000 53000 + 如果操作数在DS以外的其他段(CS,SS,ES,FS,GS)中,指令中必须指明段寄存器 MOV AX, FS:[3000H] 低地址 高地址 CS段 操作码 00H 30H 34H 12H 34H 12H AX FS段 20000 23000 FS 2000 0 3000 23000 + 4. 寄存器间接寻址 操作数地址的偏移量(有效地址EA)存放在寄存器中 16位寻址:偏移地址放在SI,DI,BP,BX中 以SI,DI, BX间接寻址,默认操作数在DS段中 MOV AX, [SI] 以BP间接寻址,默认操作数在SS段中 MOV AX, [BP] 32位寻址:偏移地址放在8个32位通用寄存器中 除ESP,EBP默认段寄存器为SS外,其余均默认段寄存器为DS MOV EAX, [ESP] 低地址 高地址 CS段 操作码 34H 12H 34H 12H AX SS段 70000 73000 SS 7000 0 3000 73000 + MOV AX, [BP] BP 5. 基址寻址 EA=[基址寄存器]+位移量 16位寻址:BP,BX为基址寄存器 BX, DS为默认段寄存器 BP, SS为默认段寄存器 32位寻址:8个32位通用寄存器均可作为基址寄存器,除ESP,EBP默认段寄存器为SS外,其余均默认段寄存器为DS MOV EAX, [BX+24] MOV DX, [EAX+1500] 低地址 高地址 CS段 操作码 00H 15H 34H 12H 34H 12H AX FS段 70000 73500 BX 1500 73500 + MOV DX, [BX+1500] DS 7000 0 2000 6. 变址寻址 EA=[变址寄存器]+位移量 16位寻址:SI,DI为基址寄存器, DS为默认段寄存器 32位寻址:除ESP外其余7个32位通用寄存器均可作为变址寄存器,EBP默认SS为段寄存
文档评论(0)