微型计算机原理与接口技术课件-第3章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《微型计算机原理与接口技术课件-第3章.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 原理 接口 技术 课件
- 资源描述:
-
1、1第第3 3章章 指令系统指令系统2主要内容:n指令系统的一般概念指令系统的一般概念n对操作数的寻址方式对操作数的寻址方式n六大类指令的操作原理:六大类指令的操作原理:操作码的含义操作码的含义指令对操作数的要求指令对操作数的要求指令执行的结果指令执行的结果33.13.1 概述4了解:n指令及指令系统;指令及指令系统;n指令的格式;指令的格式;n指令中的操作数类型;指令中的操作数类型;n指令字长与机器字长;指令字长与机器字长;n指令的执行时间指令的执行时间nCISCCISC和和RISCRISC指令系统指令系统5一、指令与指令系统指令:指令:控制计算机完成某种操作的命令控制计算机完成某种操作的命令
2、指令系统:指令系统:处理器所能识别的所有指令的集合处理器所能识别的所有指令的集合指令的兼容性:指令的兼容性:同一系列机的指令都是兼容的。同一系列机的指令都是兼容的。6二、指令格式指令中应包含的信息:指令中应包含的信息:运算数据的来源运算数据的来源运算结果的去向运算结果的去向执行的操作执行的操作7指令格式操作码操作码 操作数操作数,操作数操作数执行何种操作执行何种操作目标操作数目标操作数源操作数源操作数参加操作的数据或数据存放的地址参加操作的数据或数据存放的地址8指令格式: 零操作数指令:零操作数指令: 操作码操作码 单操作数指令:单操作数指令: 操作码操作码 操作数操作数双操作数指令:双操作数
3、指令: 操作码操作码 操作数,操作数操作数,操作数多操作数指令:多操作数指令: 三操作数及以上三操作数及以上9三、指令中的操作数立即数立即数寄存器寄存器存储器存储器表征参加操作的数据本身表征参加操作的数据本身表征数据存放的地址表征数据存放的地址10立即数操作数n立即数本身是参加操作的数据,可以是立即数本身是参加操作的数据,可以是8位或位或16位,只能作为源操作数。位,只能作为源操作数。 例:例: MOV AX,1234H MOV BL,22Hn立即数无法作为目标操作数立即数无法作为目标操作数n立即数可以是无符号或带符号数,其数值应在立即数可以是无符号或带符号数,其数值应在可取值范围内。可取值范
4、围内。11寄存器操作数:n参加运算的数存放在指令给出的寄存器中,参加运算的数存放在指令给出的寄存器中,可以是可以是16位或位或8位。位。n例:例:nMOV AX,BXnMOV DL,CH12存储器操作数n参加运算的数存放在存储器的某一个或某两参加运算的数存放在存储器的某一个或某两个单元中。个单元中。n表现形式:表现形式: 立即数或寄存器立即数或寄存器 中的内容是存放所寻找数据的单元的偏移地址中的内容是存放所寻找数据的单元的偏移地址13存储器操作数例n例:例: MOV AX,1200H MOV AL,1200H22H11H1200H偏移地址偏移地址AH AL 14四、指令字长n指令字长:指令字长
5、:n由操作码的长度、操作数地址长度、操作数个由操作码的长度、操作数地址长度、操作数个数决定。数决定。15五、指令的执行速度n指令的字长影响指令的执行速度指令的字长影响指令的执行速度n对不同的操作数,指令执行的时间不同:对不同的操作数,指令执行的时间不同: 存储器存储器快!快!立即数立即数寄存器寄存器16六、CISC和RISC指令系统nCISC(complex instruction set computer)n指令的功能强,种类多,常用指令用硬件实现;指令的功能强,种类多,常用指令用硬件实现;n指令系统复杂,难使用。指令系统复杂,难使用。nRISC指令系统指令系统n指令功能较弱,种类少,格式简
6、单;指令功能较弱,种类少,格式简单;n多数指令在一个计算机周期内完成;多数指令在一个计算机周期内完成;n对存储器的结构和存取速度要求较高。对存储器的结构和存取速度要求较高。173.2 寻址方式18寻址方式 寻找操作数所在地址的方法寻找操作数所在地址的方法 寻找转移地址的方法寻找转移地址的方法 本节本节19寻址方式n操作数可能的来源或存放处:操作数可能的来源或存放处:n由指令直接给出由指令直接给出n寄存器寄存器n内存单元内存单元n寻找操作数所在地址的方法可以有三种大类型寻找操作数所在地址的方法可以有三种大类型n指令直接给出的方式指令直接给出的方式n存放于寄存器中的寻址方式存放于寄存器中的寻址方式
7、n存放于存储器中的寻址方式存放于存储器中的寻址方式20一、立即寻址n指令中的源操作数是立即数,即源操作数是参指令中的源操作数是立即数,即源操作数是参加操作的数据本身加操作的数据本身n例:例:MOV AX,1200H12H00HAH ALMOV代代码码段段 立即寻址仅适合于源操作数立即寻址仅适合于源操作数21二、寄存器寻址n参加操作的操作数在参加操作的操作数在CPU的通用寄存器中。的通用寄存器中。n例:例:MOV AX,BX AX BX22三、直接寻址n指令中直接给出操作数的偏移地址指令中直接给出操作数的偏移地址n默认在数据段默认在数据段n例:例:MOV AX,1200H22H11H1200H偏
8、移地址偏移地址 数数据据段段AH AL23直接寻址n直接寻址方式下,操作数的段地址默认为数据直接寻址方式下,操作数的段地址默认为数据段,但允许段重设,即由指令定义段。段,但允许段重设,即由指令定义段。n例:例:MOV AX,ES:1200H24四、寄存器间接寻址n参与操作的操作数存放在内存中,其偏参与操作的操作数存放在内存中,其偏移地址为指令中的寄存器的内容。移地址为指令中的寄存器的内容。25寄存器间接寻址例n例:例:MOV AX,BX 设设BX=1200H22H11H1200H偏移地址偏移地址AH AL 11 22数数据据段段代代码码段段MOV26寄存器间接寻址n由寄存器间接给出操作数的偏移
9、地址;由寄存器间接给出操作数的偏移地址;n存放偏移地址的寄存器称为存放偏移地址的寄存器称为间址寄存器间址寄存器,它们,它们是:是:BX,BP,SI,DIn操作数的段地址(数据处于哪个段)取决于选操作数的段地址(数据处于哪个段)取决于选择哪一个间址寄存器:择哪一个间址寄存器: BX,SI,DI BP默认在数据段默认在数据段默认在堆栈段默认在堆栈段27寄存器间接寻址 寄存器寄存器间接寻址间接寻址基址寻址(间址基址寻址(间址寄存器为基址寄存寄存器为基址寄存 器器BX,BP)变址寻址(间址变址寻址(间址寄存器为变址寄存寄存器为变址寄存 器器SI,DI)28五、寄存器相对寻址n操作数的偏移地址为寄存器的
10、内容加上一个位操作数的偏移地址为寄存器的内容加上一个位移量移量n例:例:nMOV AX,BX+DATA 设:设:DS=2000H,BX=0220H,DATA=05H n则:则:AX=20225H29六、基址、变址寻址n操作数的偏移地址为操作数的偏移地址为n一个基址寄存器的内容一个基址寄存器的内容 + 一个变址寄存器的内容;一个变址寄存器的内容;n操作数的段地址由选择的基址寄存器决定操作数的段地址由选择的基址寄存器决定n基址寄存器为基址寄存器为BX,默认在数据段,默认在数据段n基址寄存器为基址寄存器为BP,默认在堆栈段,默认在堆栈段n基址变址寻址方式与相对寻址方式一样,主要基址变址寻址方式与相对
11、寻址方式一样,主要用于一维数组操作。用于一维数组操作。30例:n执行下列指令:执行下列指令:nMOV SI,1100HnMOV BX,SInMOV AX,SI+BX22H11H2200H偏移地址偏移地址AH AL 11 22数数据据段段31七、基址、变址、相对寻址n操作数的偏移地址为:操作数的偏移地址为:n基址寄存器内容基址寄存器内容+变址寄存器内容变址寄存器内容+位移量位移量n操作数的段地址由选择的基址寄存器决定。操作数的段地址由选择的基址寄存器决定。n基址变址相对寻址方式主要用于二维表格操作。基址变址相对寻址方式主要用于二维表格操作。32例:n执行以下程序段:执行以下程序段:nMOV DI
12、,1100HnMOV BP,DInMOV AL,BPDI522H11H2205H偏移地址偏移地址AL 22堆堆栈栈段段33八、隐含寻址n指令中隐含了一个或两个操作数的地址,即操指令中隐含了一个或两个操作数的地址,即操作数在默认的地址中。作数在默认的地址中。n例:例: nMUL BLn指令执行:指令执行:nALBLAX343.3 80863.3 8086指令系统35掌握:n指令码的含义指令码的含义n指令对操作数的要求指令对操作数的要求n指令的对标志位的影响指令的对标志位的影响n指令的功能指令的功能3680868086指令系统从功能上包括六大类:从功能上包括六大类:数据传送数据传送算术运算算术运算
13、逻辑运算和移位逻辑运算和移位串操作串操作程序控制程序控制处理器控制处理器控制37数据传送指令n通用数据传送通用数据传送n输入输出输入输出n地址传送地址传送n标志位操作标志位操作38一、通用数据传送一般数据传送指令一般数据传送指令堆栈操作指令堆栈操作指令交换指令交换指令查表转换指令查表转换指令字位扩展指令字位扩展指令n特点:特点:n该类指令的执行对标志位不产生影响该类指令的执行对标志位不产生影响 391. 一般数据传送指令n一般数据传送指令一般数据传送指令 MOVn格式:格式:nMOV dest,srcn操作:操作:nsrcn例:例:n MOV AL,BL dest40一般数据传送指令n注意点:
14、注意点:n两操作数字长必须相同两操作数字长必须相同;n两操作数不允许同时为存储器操作数;两操作数不允许同时为存储器操作数;n两操作数不允许同时为段寄存器;两操作数不允许同时为段寄存器;n在源操作数是立即数时,目标操作数不能是段寄存在源操作数是立即数时,目标操作数不能是段寄存器;器;nIP和和CS不作为目标操作数,不作为目标操作数,FLAGS一般也不作为一般也不作为操作数在指令中出现。操作数在指令中出现。41一般数据传送指令例n判断下列指令的正确性:判断下列指令的正确性:nMOV AL,BXnMOV AX,SI05HnMOV BXBP,BXnMOV DS,1000HnMOV DX,09HnMOV
15、 1200,SI42一般数据传送指令应用例n将将( (* *) )的的ASCIIASCII码码2 2AHAH送入内存数据段送入内存数据段1000H1000H开开始的始的100100个单元中。个单元中。n题目分析:题目分析:n确定首地址确定首地址n确定数据长度确定数据长度n写一次数据写一次数据n修改单元地址修改单元地址n修改长度值修改长度值n判断写完否?判断写完否?n未完继续写入,否则结束未完继续写入,否则结束1063H100B1000H 2AH数据段数据段2AH2AH2AH43一般数据传送指令应用例程序段:程序段: MOV DIMOV DI,1000H1000H MOV CX MOV CX,6
16、4H64H MOV AL MOV AL,2AH2AHAGAINAGAIN:MOV DIMOV DI,ALAL INC DI INC DI ;DI+1DI+1 DEC CX DEC CX ;CX-1CX-1 JNZ AGAIN JNZ AGAIN ;CX0CX0则继续则继续 HLT HLT 44上段程序在代码段中的存放形式n設設CS=109EHCS=109EH,IP=0100HIP=0100H,则各条指令在代码段中的存则各条指令在代码段中的存放地址如下:放地址如下: CS : IP CS : IP 机器指令机器指令 汇编指令汇编指令 109E 109E:0100 B80010 MOV DI010
17、0 B80010 MOV DI,1000H1000H 109E 109E:0103 0103 . . MOV CX MOV CX,64H64H 109E 109E:0105 0105 . . MOV AL MOV AL,2AH2AH 109E 109E:0107 0107 . . MOV DI MOV DI,ALAL 109E 109E:0109 INC DI0109 INC DI 109E 109E:010A DEC CX010A DEC CX 109E 109E:010B JNZ 0107H010B JNZ 0107H 109E 109E:010D HLT010D HLT45数据段中的分布
18、 n送上送上2 2AHAH后数据段中相应存储单元的内容改变后数据段中相应存储单元的内容改变如下:如下:DSDS:1000 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A 1000 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A DSDS:1010 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A 1010 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A DSDS:1020 2A 2A 2A 2A 2A 2A
19、 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A 1020 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A DSDS:1030 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A1030 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2ADSDS:1040 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A 1040 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A
20、 2A DSDS:1050 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A 1050 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A DSDS:1060 2A 2A 2A 2A 00 00 00 00 00 00 00 00 00 00 00 001060 2A 2A 2A 2A 00 00 00 00 00 00 00 00 00 00 00 00偏移地址偏移地址DI462. 堆栈操作指令掌握:掌握:n有关堆栈的概念有关堆栈的概念n栈顶、栈首、栈底栈顶、栈首、栈底n堆栈指令的操作原理堆栈指令的操作
21、原理n执行过程,执行结果执行过程,执行结果47堆栈操作的原则n先进后出先进后出n以字为单位以字为单位48堆栈操作指令n压栈指令压栈指令 PUSH 格式格式: PUSH OPRDn出栈指令出栈指令 POP 格式格式: POP OPRD16位寄存器或位寄存器或存储器两单元存储器两单元16位寄存器或位寄存器或存储器两单元存储器两单元49压栈指令 PUSHn指令执行过程:指令执行过程:nSP - 2 SP - 2 SP SPn操作数高字节操作数高字节 SP+1SP+1n操作数低字节操作数低字节 SPSP SP堆堆栈栈段段SP高高8位位低低8位位50压栈指令的操作设设AX=1234H,SP=1200H执
22、行执行 PUSH AX 指令后堆栈区的状态:指令后堆栈区的状态: 1200H 堆堆栈栈段段 SP-2=11FEH12H34H1200H 堆堆栈栈段段12H 34HAX入栈后入栈后入栈前入栈前51出栈指令POPn指令执行过程:指令执行过程: SPSP SP+1 SP+1 SP SP+2 SP SP+2操作数低字节操作数低字节操作数高字节操作数高字节 SP堆堆栈栈段段SP高高8位位低低8位位52出栈指令的操作执行执行 POP AX 12H34H11FEH 堆堆栈栈段段代代码码段段PUSH 12 34 AX SP+21200H 出栈后出栈后出栈前出栈前53堆栈操作指令说明n指令的操作数必须是指令的操
23、作数必须是1616位的;位的;n操作数可以是寄存器或存储器两单元,但不能操作数可以是寄存器或存储器两单元,但不能是立即数;是立即数;n不能从栈顶弹出一个字给不能从栈顶弹出一个字给CSCS;nPUSHPUSH和和POPPOP指令在程序中一般成对出现;指令在程序中一般成对出现;nPUSHPUSH指令的操作方向是从高地址向低地址,而指令的操作方向是从高地址向低地址,而POPPOP指令的操作正好相反。指令的操作正好相反。54堆栈操作指令例nMOV AX,1234HnMOV SP,AXnMOV BX,5678HnMOV BX,AHnMOV BX+1,BLnPUSH AXnPUSH BXnPUSH WOR
24、D PTRBX nPOP WORD PTRBXnPOP AXnPOP BX 如此,会使如此,会使AX和和BX的内容互换的内容互换553. 交换指令n格式:格式: XCHG REG XCHG REG,MEM/REGMEM/REGn注:注:n两操作数必须有一个是寄存器操作数两操作数必须有一个是寄存器操作数n不允许使用段寄存器不允许使用段寄存器。n例:例: nXCHGXCHGAXAX,BXBXnXCHGXCHG20002000,CLCL564. 查表指令n格式:格式: XLATn说明:说明:n用用BX的内容代表表格首地址,的内容代表表格首地址,AL内容为表内位移量,内容为表内位移量,BX+AL得到要
25、查找元素的偏移地址得到要查找元素的偏移地址n操作:操作:n将将BX+AL所指单元的内容送所指单元的内容送AL57查表指令例数据段中存放有一数据段中存放有一张张ASCIIASCII码转换表,码转换表,设首地址为设首地址为20002000H H,现欲查出表中第现欲查出表中第1111个代码的个代码的ASCIIASCII码码303132.394142.45462000H+02000H+110129ABEF58查表指令例nMOV BX,2000HnMOV AL,BX+0BH595. 字位扩展指令 n将符号数的符号位扩展到高位;将符号数的符号位扩展到高位;n指令为零操作数指令,采用隐含寻址,隐含指令为零操
展开阅读全文