大学计算机微机原理--第3章指令系统

上传人:jiups****uk12 文档编号:44681484 上传时间:2018-06-14 格式:PPTX 页数:190 大小:1.63MB
返回 下载 相关 举报
大学计算机微机原理--第3章指令系统_第1页
第1页 / 共190页
大学计算机微机原理--第3章指令系统_第2页
第2页 / 共190页
大学计算机微机原理--第3章指令系统_第3页
第3页 / 共190页
大学计算机微机原理--第3章指令系统_第4页
第4页 / 共190页
大学计算机微机原理--第3章指令系统_第5页
第5页 / 共190页
点击查看更多>>
资源描述

《大学计算机微机原理--第3章指令系统》由会员分享,可在线阅读,更多相关《大学计算机微机原理--第3章指令系统(190页珍藏版)》请在金锄头文库上搜索。

1、1第3章 指令系统2主要内容:n指令系统统的一般概念n对对操作数的寻寻址方式n六大类类指令的操作原理:操作码的含义指令对操作数的要求指令执行的结果33.1 概述4了解:n指令及指令系统统;n指令的格式;n指令中的操作数类类型;n指令字长长与机器字长长;n指令的执执行时间时间nCISC和RISC指令系统统5一、指令与指令系统指令:控制计计算机完成某种操作的命令指令系统统:处处理器所能识别识别 的所有指令的集合指令的兼容性:同一系列机的指令都是兼容的。6二、指令格式指令中应应包含的信息:运算数据的来源运算结果的去向执行的操作7指令格式操作码码 操作数,操作数执行何种操作目标操作数源操作数参加操作的

2、数据或数据存放的地址8指令格式:零操作数指令: 操作码 单操作数指令: 操作码 操作数双操作数指令: 操作码 操作数,操作数多操作数指令: 三操作数及以上9三、指令中的操作数立即数寄存器存储储器表征参加操作的数据本身表征数据存放的地址10立即数操作数n立即数本身是参加操作的数据,可以是8位或 16位,只能作为为源操作数。例: MOV AX,1234HMOV BL,22Hn立即数无法作为为目标标操作数n立即数可以是无符号或带带符号数,其数值应值应 在可取值值范围围内。11寄存器操作数:n参加运算的数存放在指令给给出的寄存器中 ,可以是16位或8位。n例:nMOV AX,BXnMOV DL,CH1

3、2存储器操作数n参加运算的数存放在存储储器的某一个或某两 个单单元中。n表现现形式: 立即数或寄存器 中的内容是存放所寻找数据的单元的偏移地址13存储器操作数例n例: MOV AX,1200HMOV AL,1200H22H 11H1200H偏移地址AH AL 14四、指令字长n指令字长长:n由操作码码的长长度、操作数地址长长度、操作数 个数决定。15五、指令的执行速度n指令的字长长影响指令的执执行速度n对对不同的操作数,指令执执行的时间时间 不同 :存储储器 快!立即数寄存器16六、CISC和RISC指令系统nCISC(complex instruction set computer)n指令的

4、功能强,种类类多,常用指令用硬件实现实现 ;n指令系统统复杂杂,难难使用。nRISC指令系统统n指令功能较较弱,种类类少,格式简单简单 ;n多数指令在一个计计算机周期内完成;n对对存储储器的结结构和存取速度要求较较高。173.2 寻址方式18寻址方式寻寻找操作数所在地址的方法寻寻找转转移地址的方法 本节19寻址方式n操作数可能的来源或存放处处:n由指令直接给给出n寄存器n内存单单元n寻寻找操作数所在地址的方法可以有三种大类类型n指令直接给给出的方式n存放于寄存器中的寻寻址方式n存放于存储储器中的寻寻址方式20一、立即寻址n指令中的源操作数是立即数,即源操作数是参 加操作的数据本身n例:MOV

5、AX,1200H12H00HAH ALMOV代 码 段 立即寻址仅适合于源操作数21二、寄存器寻址n参加操作的操作数在CPU的通用寄存器中。n例:MOV AX,BXAX BX22三、直接寻址n指令中直接给给出操作数的偏移地址n默认认在数据段n例:MOV AX,1200H22H 11H1200H偏移地址 数 据 段AH AL23直接寻址n直接寻寻址方式下,操作数的段地址默认为认为 数据 段,但允许许段重设设,即由指令定义义段。n例:MOV AX,ES:1200H24四、寄存器间接寻址n参与操作的操作数存放在内存中,其偏 移地址为为指令中的寄存器的内容。25寄存器间接寻址例n例:MOV AX,BX

6、设设BX=1200H22H 11H1200H偏移地址AH AL 11 22数 据 段代 码 段MOV26寄存器间接寻址n由寄存器间间接给给出操作数的偏移地址;n存放偏移地址的寄存器称为为间间址寄存器,它 们们是:BX,BP,SI,DIn操作数的段地址(数据处处于哪个段)取决于 选择选择 哪一个间间址寄存器:BX,SI,DIBP默认在数据段默认在堆栈段27寄存器间接寻址寄存器间间接寻寻址基址寻址(间址寄存器为基址寄存器BX,BP)变址寻址(间址寄存器为变址寄存器SI,DI)28五、寄存器相对寻址n操作数的偏移地址为为寄存器的内容加上一个位 移量n例:nMOV AX,BX+DATA设设:DS=20

7、00H,BX=0220H,DATA=05H n则则:AX=20225H29六、基址、变址寻址n操作数的偏移地址为为n一个基址寄存器的内容 + 一个变变址寄存器的内容 ;n操作数的段地址由选择选择 的基址寄存器决定n基址寄存器为为BX,默认认在数据段n基址寄存器为为BP,默认认在堆栈栈段n基址变变址寻寻址方式与相对寻对寻 址方式一样样,主 要用于一维维数组组操作。30例:n执执行下列指令:nMOV SI,1100HnMOV BX,SInMOV AX,SI+BX22H 11H2200H偏移地址AH AL 11 22数 据 段31七、基址、变址、相对寻址n操作数的偏移地址为为:n基址寄存器内容+变变

8、址寄存器内容+位移量n操作数的段地址由选择选择 的基址寄存器决定。n基址变变址相对寻对寻 址方式主要用于二维维表格操 作。32例:n执执行以下程序段:nMOV DI,1100HnMOV BP,DInMOV AL,BPDI522H 11H2205H偏移地址AL 22堆 栈 段33八、隐含寻址n指令中隐隐含了一个或两个操作数的地址,即操 作数在默认认的地址中。n例: nMUL BLn指令执执行:nALBLAX343.3 8086指令系统35掌握:n指令码码的含义义n指令对对操作数的要求n指令的对标对标 志位的影响n指令的功能368086指令系统从功能上包括六大类类:数据传送算术运算逻辑运算和移位串

9、操作程序控制处理器控制37数据传送指令n通用数据传传送n输输入输输出n地址传传送n标标志位操作38一、通用数据传送一般数据传传送指令 堆栈栈操作指令交换换指令 查查表转换转换 指令 字位扩扩展指令n特点:n该类指令的执行对标志位不产生影响 391. 一般数据传送指令n一般数据传传送指令 MOVn格式:nMOV dest,srcn操作:nsrcn例:n MOV AL,BLdest40一般数据传送指令n注意点:n两操作数字长长必须须相同;n两操作数不允许许同时为时为 存储储器操作数;n两操作数不允许许同时为时为 段寄存器;n在源操作数是立即数时时,目标标操作数不能是段寄存 器;nIP和CS不作为为

10、目标标操作数,FLAGS一般也不作为为 操作数在指令中出现现。41一般数据传送指令例n判断下列指令的正确性:nMOV AL,BXnMOV AX,SI05HnMOV BXBP,BXnMOV DS,1000HnMOV DX,09HnMOV 1200,SI42一般数据传送指令应用例n将(*)的ASCII码码2AH送入内存数据段1000H开 始的100个单单元中。n题题目分析:n确定首地址n确定数据长长度n写一次数据n修改单单元地址n修改长长度值值n判断写完否?n未完继续继续 写入,否则结则结 束1063H100B1000H 2AH数据段2AH 2AH2AH43一般数据传送指令应用例程序段:MOV D

11、I,1000HMOV CX,64HMOV AL,2AH AGAIN:MOV DI,ALINC DI ;DI+1DEC CX ;CX-1JNZ AGAIN ;CX0则继续则继续HLT 44上段程序在代码段中的存放形式n設CS=109EH,IP=0100H,则则各条指令在代码码段中的存 放地址如下:CS : IP 机器指令 汇编汇编 指令109E:0100 B80010 MOV DI,1000H109E:0103 . MOV CX,64H109E:0105 . MOV AL,2AH109E:0107 . MOV DI,AL109E:0109 INC DI109E:010A DEC CX109E:0

12、10B JNZ 0107H109E:010D HLT45数据段中的分布 n送上2AH后数据段中相应应存储单储单 元的内容改变变 如下:DS:1000 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A DS:1010 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A DS:1020 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A DS:1030 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A DS:1040 2

13、A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A DS:1050 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A DS:1060 2A 2A 2A 2A 00 00 00 00 00 00 00 00 00 00 00 00偏移地址DI462. 堆栈操作指令掌握:n有关堆栈栈的概念n栈顶栈顶 、栈栈首、栈栈底n堆栈栈指令的操作原理n执执行过过程,执执行结结果47堆栈操作的原则n先进进后出n以字为单为单 位48堆栈操作指令n压栈压栈 指令 PUSH格式: PUSH OPRDn出栈栈指令 POP格式: PO

14、P OPRD16位寄存器或 存储器两单元16位寄存器或 存储器两单元49压栈指令 PUSHn指令执执行过过程:nSP - 2 SPn操作数高字节节 SP+1n操作数低字节节 SP SP堆 栈 段SP 高8 位低8 位50压栈指令的操作设设AX=1234H,SP=1200H执执行 PUSH AX 指令后堆栈栈区的状态态: 1200H 堆 栈 段SP-2=11FEH 12H34H1200H 堆 栈 段12H 34HAX入栈后入栈前51出栈指令POPn指令执执行过过程:SPSP+1SP SP+2操作数低字节操作数高字节 SP堆 栈 段SP 高8 位低8 位52出栈指令的操作执执行 POP AX 12

15、H34H11FEH 堆 栈 段代 码 段PUSH12 34AXSP+21200H 出栈后出栈前53堆栈操作指令说明n指令的操作数必须须是16位的;n操作数可以是寄存器或存储储器两单单元,但不能 是立即数;n不能从栈顶弹栈顶弹 出一个字给给CS;nPUSH和POP指令在程序中一般成对对出现现;nPUSH指令的操作方向是从高地址向低地址,而 POP指令的操作正好相反。54堆栈操作指令例nMOV AX,1234HnMOV SP,AXnMOV BX,5678HnMOV BX,AHnMOV BX+1,BLnPUSH AXnPUSH BXnPUSH WORD PTRBX nPOP WORD PTRBXnPOP AXnPOP BX 如此,会使AX和BX的内容互换553. 交换指令n格式:XCHG REG,MEM/REGn注:n两操作数必须须有一个是寄存器操作数n不允许许使用段寄存器。n例: nXCHGAX,BXnXCHG2000,CL564. 查表指令n格式:XLATn说说明:n用BX的内容代表表格首地址,AL内容为为表内位移量 ,BX+

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号