第3章 指系统及其应用.ppt
《第3章 指系统及其应用.ppt》由会员分享,可在线阅读,更多相关《第3章 指系统及其应用.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 本章主要教学内容本章主要教学内容指令系统、指令格式与寻址的概念指令系统、指令格式与寻址的概念8086的寻址方式及其应用的寻址方式及其应用8086的指令系统的指令系统各类指令的功能及其应用各类指令的功能及其应用第第3章章指令系统及其应用指令系统及其应用 1 本章教学目的及要求本章教学目的及要求 通通过过学学习习,使使学学生生掌掌握握指指令令格格式式、寻寻址址方方式、指令系统的基础知识。式、指令系统的基础知识。理解各类指令的功能及其应用特点。理解各类指令的功能及其应用特点。为后面程序设计奠定基础。为后面程序设计奠定基础。第第3章章指令系统及其应用指令系统及其应用 2第第3章章3.1 概述概述3.
2、1.1 指令系统与指令格式指令系统与指令格式1.指令与指令系统的概念 指令是计算机执行特定操作功能的命令,它和CPU所具备的能力相对应。计算机能执行的全部指令的集合称为指令系统。计算机中的指令以二进制编码形式存放在存储器中。采用二进制编码形式表示的指令称为机器指令。采用助记符可简化机器指令,称为符号指令,也称为汇编指令。3第第3章章 2.指令格式每条指令中要包含操作码和操作数两字段。(1)操作码字段 表示计算机要执行的某种指令功能,说明要执行的具体操作。(2)操作数字段 表示计算机在操作中所需要的数据,或数据存放位置。4 3.1.2 寻址与寻址方式的概念寻址与寻址方式的概念 寻找操作数的过程称
3、为寻址,寻找操作数或操作数地址的方式称为寻址方式。8086指令中的操作数有3种可能的存放位置:(1)操作数在指令中,称为立即操作数。(2)操作数在内部寄存器中,称为寄存器操作数。(3)操作数在内存数据区中,称为存储器操作数。第第3章章5第第3章章 3.2 寻址方式及其应用寻址方式及其应用 3.2.1 立即数寻址立即数寻址MOV AL,25H ;将十六进制数25H送ALMOV AX,12B5H ;将12B5H送AX,MOV CL,50 ;将十进制数50送CLMOV AL,10100110B;将二进制数10100110B送AL6第第3章章 3.2.2 寄存器寻址寄存器寻址 操作数存放在CPU的内部
4、寄存器。MOV AX,BX;将BX中保存的操作数传送到AX中ADD AL,BL ;两个8位寄存器操作数相加,结果放在AL中INC CX ;对寄存器CX中的内容进行加1处理7第第3章章 3.2.3 存储器寻址存储器寻址 1.直接寻址方式 指令中给出的地址码即为操作数的有效地址EA。直接寻址方式的操作数有效地址EA已经在指令中给出,操作数的物理地址:PA(DS)10HEA。8第第3章章 2.寄存器间接寻址方式 寄存器间接寻址方式操作数的有效地址由寄存器指出,操作数位于存储单元中。操作数的物理地址为:PA(DS)10H指定寄存器内容。PA(SS)10H(BP)9第第3章章 3.寄存器相对寻址方式 指
5、令中给定基址寄存器或变址寄存器和一个8位或16位的相对偏移量,两者之和作为操作数的有效地址。有效地址:EA(reg)8位或16位偏移量;其中reg为给定寄存器。物理地址:PA(DS)10HEA (用BX、SI、DI间址寄存器)PA(SS)10HEA (用BP间址寄存器)10第第3章章 4.基址变址寻址方式 有效地址EA是基址寄存器加变址寄存器的内容。物理地址计算公式:PA(DS)10H(BX)(SI)PA(SS)10H(BP)(DI)5.相对基址变址寻址方式 指令中给出基址寄存器、变址寄存器和8位或16位的偏移量,三者之和作为操作数的有效地址。物理地址计算公式:PA(DS)10H(BX)(SI
6、)或(DI)偏移量PA(SS)10H(BP)(SI)或(DI)偏移量11第第3章章 3.2.4 I/O端口寻址端口寻址 1.直接端口寻址方式 指令中给出要访问的端口地址,端口数为0255,采用两位十六进制数表示。2.间接端口寻址方式 访问端口地址数超过256个时,采用间接寻址方式,可访问的端口数为065535。间接端口寻址把I/O端口的地址先送到寄存器DX中,用16位的DX作为间接寻址寄存器。12第第3章章 3.3 指令系统及其应用指令系统及其应用 3.3.1 数据传送类指令 数据传送类指令的基本功能是把操作数或操作数的地址传送到指定的寄存器或存储单元中。数据传送过程中,源操作数和目的操作数的
7、类型必须保持一致。源操作数可以是累加器、寄存器、存储器操作数和立即数,目的操作数可以是累加器、寄存器和存储器。13第第3章章 1.通用数据传送指令(1)传送指令MOV 该指令把源操作数传送至目的操作数,指令执行后源操作数内容不变,目的操作数内容与源操作数内容相同。源操作数可以是通用寄存器、段寄存器、存储器及立即数,目标操作数可以是通用寄存器、段寄存器(CS除外)或存储器。14第第3章章注意:使用MOV指令进行数据传送时段寄存器CS及立即数不能作为目标操作数;两个存储单元之间不允许直接传送数据;立即数不能直接传送到段寄存器;两个段寄存器之间不能直接传送数据。15第第3章章 (2)堆栈操作指令PU
8、SH/POP 堆栈是按照“后进先出”原则组织的内存数据区域,设置在堆栈段SS内,指针SP始终指向堆栈的栈顶。堆栈操作时:进栈指令PUSH使(SP)(SP)2。出栈指令POP的执行过程与PUSH相反,从当前栈顶弹出16位操作数到目标操作数,同时(SP)(SP)216第第3章章 (3)交换指令XCHG 实现字节数据交换,也可实现字数据交换。如XCHG AX,BX;将寄存器AX内容与BX内容互相交换位置。(4)换码指令XLAT 将累加器AL中的一个值转换为内存表格中的某一个值,再送回AL中。一般用来实现码制之间的转换,也称为查表转换指令。17第第3章章 2.地址传送指令(1)有效地址送寄存器指令LE
9、A 将存储器源操作数src的有效地址传送到16位的通用寄存器。(2)地址指针送寄存器指令LDS (3)指针送寄存器指令LES 18第第3章章 3.标志寄存器传送指令 标志寄存器传送是单字节指令,指令操作数以隐含形式规定,字节操作数隐含为AH。(1)取标志指令LAHF(2)置标志位指令SAHF(3)标志压入堆栈指令PUSHF(4)标志弹出堆栈指令POPF19第第3章章 4.输入/输出指令 8086指令系统中的输入/输出指令是专门通过累加器来执行的。输入指令:IN Acc,src ;Acc为8位或16位累加器输出指令:OUT dst,Acc 20第第3章章 3.3.2 算术运算类指令算术运算类指令
10、 8086的算术运算类指令包括加、减、乘、除4种基本运算指令,以及为进行BCD码十进制数运算而设置的各种较正指令。21第第3章章 加减法运算在执行过程中会产生溢出。无符号数运算时,如果加法运算最高位向前产生进位或减法运算最高位向前有借位,表示溢出;带符号数采用补码运算时,符号位也参与运算,出现溢出表示运算结果发生错误。22第第3章章 算术运算指令除加1指令INC不影响CF标志外,其余指令对CF、OF、ZF、SF、PF、AF等6个标志位均可产生影响,其规则如下:无符号数运算产生溢出时,CF1;带符号数运算产生溢出时,OF1;当运算结果为0时,ZF1;当运算结果为负数时,SF1;当运算结果中有偶数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 指系统及其应用 系统 及其 应用
限制150内