第3章 8088指令系统

上传人:豆浆 文档编号:47355257 上传时间:2018-07-01 格式:PPT 页数:186 大小:1.73MB
返回 下载 相关 举报
第3章 8088指令系统_第1页
第1页 / 共186页
第3章 8088指令系统_第2页
第2页 / 共186页
第3章 8088指令系统_第3页
第3页 / 共186页
第3章 8088指令系统_第4页
第4页 / 共186页
第3章 8088指令系统_第5页
第5页 / 共186页
点击查看更多>>
资源描述

《第3章 8088指令系统》由会员分享,可在线阅读,更多相关《第3章 8088指令系统(186页珍藏版)》请在金锄头文库上搜索。

1、微机原理及应用主讲教师 马晴第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*2第三章 8086/8088指令系统一、指令格式与寻址方式 二、数据传送类指令 三、算术运算指令 四、逻辑运算指令 五、移位指令 六、串操作指令 七、控制转移指令 八、处理器控制指令 第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*3一、指令格式与寻址方式指令(Instruction)是指示CPU执行某种操作的 命令;指令系统(Instruction Set)是某一CPU所能执 行的全部指

2、令的集合,也称为指令集;8086/8088的指令系统完全相同。指令是构成程序的基础,程序是指令的有序组合 ,CPU执行程序就是执行一条条指令。1、指令格式2、寻址方式 第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*4二、数据传送类指令1、通用数据传送指令2、地址传送指令3、状态标志传送指令4、I/O端口数据传送指令实现CPU的内部寄存器之间、CPU与存储器之间、与I/O端口之间的数据传送第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*5三、算术运算指令1、加法运

3、算指令 2、减法指令 3、乘法指令 4、除法指令例题8086/8088CPU可完成带符号/ 无符号的8位/16位二进制数的 算术运算,及BCD表示的十 进制数的算术运算第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*6四、逻辑运算指令1、“与”运算指令AND 2、“或”运算指令OR 3、“非”运算指令NOT 4、“异或”运算指令XOR 5、测试指令TEST 按位进行,操作数为字或字节; src和dst不能同时为存储器操作数; NOT对各标志位无影响,其他指令使CF,OF置0,SF, PF,ZF依逻辑运算结果而定,AF无定义。第三

4、章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*7五、移位指令1、逻辑移位指令 2、算术移位指令 3、循环移位指令 4、通过进位位循环移位指令例题 可实现8或16位的寄存器或存储器操作数移1位或几位; 可将dst的所有位按操作符规定的方式移动1位或按寄存 器CL规定的次数(0255)移动,结果送dst; 所有移位指令会影响除AF外的所有标志位。第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*8七、控制转移指令1、控制转移指令的寻址方式 2、无条件转移指令 3、条件转移

5、指令 4、循环控制指令 5、过程调用和返回指令 指令执行顺序由CS和指令指针寄存器IP确定; 执行程序时,BIU(总线接口部件)每取一字节指令, IP自动+1,指向下一指令字节,实现程序顺序控制;第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*9八、处理器控制指令1、标志位操作指令 2、与外部事件协调同步的指令 3、空操作指令 对CPU进行控制; 指令中不需操作数,为单字节指令第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*101、指令格式(1)操作码指定CPU执

6、行的某种操作,如传送、运 算等; (2)操作数为参与操作的数据,如寄存器中的数据 或内存单元中的数据等。可以是操作数本身;可以是操作数的地址或地址的一部分;可以是指向操作数地址的指针;可以是其他有关操作数的信息。 一条指令通常包括两部分:操作码和操作数。格式: 操作码 操作数 操作数第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮1、指令格式*11(2)操作数为参与操作的数据,如寄存器中的数据 或内存单元中的数据等。包含一个操作数的指令称为单操作数指令;包含两个操作数的指令称为双操作数指令;在指令执行过程中使用的操作数,保持原值不

7、变的称为 源操作数src (source);不保留原值而将处理结果存入其中的称为目的操作数 dst (destination)。 操作码 操作数 操作数第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*122、寻址方式(Addressing Mode) (1)指令寻址方式指令通常是顺序存放的,因此只要通过对指令指 针自动加1,便形成下条指令地址;只有当遇到转移指令或调用指令时,根据转移目标 去修改IP或CS。(2)操作数寻址方式所谓操作数寻址方式,就是寻找指令中所需操作 数(或操作数有效地址)的方法。第三章 8086/8088指令

8、系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*132、寻址方式(Addressing Mode) 操作数的来源包含在指令中,紧跟在操作码之后,称为立即数 (指令的操作数包含操作数本身);立即数寻址例:MOV AL, 08H操作数在CPU的某个寄存器中(指令中操作数字段 是CPU内部寄存器的编码);寄存器寻址例:MOV AX, BX寄存器名第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2、寻址方式(Addressing Mode) *14操作数的来源操作数在内存的某单元中,这时指令中给出的是操

9、作 数所在内存单元的地址,或者是产生该地址的计算方法 ;(书写形式:存储单元的逻辑地址)操作数在某I/O端口中。8088/8086中,任何内存地址由两部分组成: 段基址:单元所在段的起始地址(多由DS提供) 段内偏移地址:此单元与段基址的相对偏移距离有效地址EA(Effective Address)为适应各种数据 结构的需要,段内偏移量可由几个部分组成 (寻址方式不同,EA构成不同)第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*152、寻址方式(Addressing Mode)由于操作数的不同来源,产生了三大类寻址方 式。 (

10、1)立即数寻址(2)寄存器寻址(3)内存寻址(4)隐含寻址例题第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*16(1)立即(数)寻址当操作数就在指令中时,称为立即(数)寻址, 这种操作数称为立即数(8位或16位均可),操作数作 为指令组成部分存放在代码段,随取指令一起被放入指 令队列。如: MOV AL,05H 将立即数05H传送到寄存器AL中执行完该条指令后,(AL)=05H 或表示成 : AL=05H第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*17(1)

11、立即(数)寻址 MOV AX,3064H执行完该条指令后,(AX)=3064H或表示成: AX=3064H将立即数3064H传送到寄存器AX中第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*18(1)立即(数)寻址 MOV AL,05H这是一条双操作数指令。其中: * MOV就是操作码, * 立即数05H称为源操作数; * 寄存器AL称为目的操作数。特 点: * 源操作数在执行指令后,它的值不会发生变化; *立即数不能作为目的操作数; *执行速度快。主要用来给寄存器或存储单元赋值第三章 8086/8088指令系统广东工业大学广东

12、工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*19(2)寄存器寻址(Segment Addressing)当操作数在CPU内的某个寄存器中,指令中给 出该寄存器名,又叫寄存器直接寻址。* 对于16位的操作数,寄存器可以是: AX, BX, CX, DX, SI, DI, SP, BP 以及段寄存器CS, DS, ES和SS * 对于8位的操作数,寄存器可以是: AL, AH, BL, BH, CL, CH, DL, DH寄存器寻址方式的指令在执行时,操作就在 CPU内进行,不需要执行总线周期,执行速度快第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动

13、化学院 自动控制系自动控制系 陈玮陈玮BXAX(2)寄存器寻址(Segment Addressing)*20如: MOV AL,05H目的操作数AL即为寄存器寻址 MOV AX,BX当操作数在CPU内的某个寄存器中,指令中给出该寄存器名将寄存器BX的内容传送到寄存器AX中 执行完该条指令后,表示成AX=BXINC CX ;将CX内容加1,即(CX) (CX)+1第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*21(3)内存寻址 (Memory Addressing)操作数在存储器中(一般在数据段、堆栈段或 附加段),称该操作数为

14、内存操作数。* 指令中寻找内存单元采用逻辑地址(段基址相对变化 较少,只需给出段内偏移地址);*指令中给出的是操作数的有效地址EA或产生EA的计算 方式。EA即逻辑地址中的偏移地址执行过程: CPU根据操作数字段提供的地址信息,由EU计算出EA BIU根据公式PA=(段首址10H)+EA,计算物理地址 执行总线周期,根据PA取出操作数送给EU,EU执行第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*22(3)内存寻址 (Memory Addressing)直接寻址寄存器间接寻址寄存器相对寻址基址变址寻址相对基址变址寻址一条指令中,只允许 有一个内存操作数!第三章 8086/8088指令系统广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮*23直接寻址EA由指令中直接给出的16位偏移量单独构成, 紧跟在操作码之后。 * 若指令中未使用段超越前缀,默认操作数在数据段DS * 16位偏移量应带有方括号。如:(1)MOV AL,1234H 根据指令,EA=1234H,段地址取当前数据段DS(设DS=2000H), 物理地址(20位)=DS10H+1234H=21234H, 功

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

最新文档


当前位置:首页 > 学术论文 > 毕业论文

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