计算机组成原理指令系统

上传人:宝路 文档编号:53295325 上传时间:2018-08-29 格式:PPT 页数:141 大小:4.18MB
返回 下载 相关 举报
计算机组成原理指令系统_第1页
第1页 / 共141页
计算机组成原理指令系统_第2页
第2页 / 共141页
计算机组成原理指令系统_第3页
第3页 / 共141页
计算机组成原理指令系统_第4页
第4页 / 共141页
计算机组成原理指令系统_第5页
第5页 / 共141页
点击查看更多>>
资源描述

《计算机组成原理指令系统》由会员分享,可在线阅读,更多相关《计算机组成原理指令系统(141页珍藏版)》请在金锄头文库上搜索。

1、指令系统,4.1 寻址方式4.1.1 与数据有关的寻址方式4.1.2 与转移地址有关的寻址方式,第 4 章,4.2 指令系统 4.2.1 数据传送指令4.2.2 算术运算指令4.2.3 逻辑指令4.2.4 串处理指令4.2.5 控制转移指令4.2.6 处理器控制指令,掌握8086 CPU的寻址方式 掌握汇编语言的指令系统,教 学 要 求,指令的功能该指令能够实现何种操作。通常指令助记符就是指令功能的英文单词或其缩写形式。 指令支持的寻址方式该指令中的操作数可以采用何种寻址方式。 指令对标志的影响该指令执行后是否对各个标志位有影响,以及如何影响。 其他方面该指令其他需要特别注意的地方,如指令执行

2、时的约定设置、必须预置的参数、隐含使用的寄存器等。,第 4.1节,寻址方式,指令基本格式,一个,一个或几个,一条指令实际上包括两种信息即操作码和地址码。 操作码用来表示该指令所要完成的操作,其长度取决于指令系统中的指令条数; 地址码用来描述该指令的操作对象,或者直接给出操作数或者指出操作数的存储器地址或寄存器地址(即寄存器名)。,4.1.1 指令格式,指令中提供的地址数,存储单元地址码 寄存器编号,1.指令提供地址的方式显地址方式隐地址方式,:指令中明显指明地址。 :地址隐含约定,不出现在指令中。,直接或间接给出,使用隐地址可以减少指令中的地址数, 简化地址结构。,4.1.1 指令格式,指令和

3、数据的联系和区别联系:都是以二进制码的形式存储的。 区别: 指令的地址是由程序计数器(PC)规定的; 而数据的地址是由指令规定的。在程序执行过程中,要避免修改指令,但可以修改数据。,4.1.1 指令格式,指令系统,标号:给指令所在的地址取名字。 注释:说明程序,汇编程序不对它作任何处理。 操作码:指计算机所要执行的操作,是一种助记符。 操作数:指出在指令执行过程中所需要的操作数,即指出操作数存放于何处 CPU内部的寄存器或内存储器。 该字段可以是操作数本身外,也可以是操作数地址或是地址的一部分,还可以是其它有关操作数的信息。 操作数通常为是0个-两个。8086指令系统的指令大多数是双操作数指令

4、。, 指令的一般格式,指令系统, 8086指令系统的指令大多数是双操作数指令。,其中: 源操作数:直接给出参加指令操作的操作数本身,或指出操作数放在什么地方; 目的操作数:指出参加指令操作的操作数放在何处,并指出操作结果送至何处。 指令执行前后,源操作数不变。,操作数的形式(3种)立即数:操作数以常量形式出现(指源操作数) 寄存器操作数:要操作的数据存在R中。 内存操作数:要操作的数据存在M中。,指令的寻址方式,操作数可能在哪?,地址的表示方法,物理地址 逻辑地址:段地址:段内偏移量,就是寻找操作数所在地址的方法。,寻址方式:或者是寻找操作数有效地址(EA)的方法。,有效地址(EA)的构成,位

5、移量: disp8位或disp16位 基址寄存器: 存放在BX或BP中的内容 变址寄存器: 存放在SI或DI中的内容,不同的组合方式不同的寻址方式,4.1.1,与数据有关的寻址方式(7种),1.立即寻址 指令中直接给出操作数,演示,4.1.1,与数据有关的寻址方式(7种),即操作数放在CPU内部寄存器 AX、BX、CX、DX、 DI、SI、SP和BP中,不需要访问存储器。,2.寄存器寻址指令中给出存储操作数的寄存器号,演示1,演示2,4.1.1,与数据有关的寻址方式(7种),3.直接寻址有效地址EA由指令直接给出。物理地址=(DS)10HEA,演示1,演示2,4.1.1,与数据有关的寻址方式(

6、7种),3.直接寻址,4.寄存器间接寻址指令中直接给出操作数EA; EA在基址寄存器BP、BX或变址寄存器SI、DI中,而操作数则在存储器中。,BX、SI、DI作间址寄存器,指示数据段中的数据; BP作间址寄存器,则指示的是堆栈段中的数据。,4.1.1,与数据有关的寻址方式(7种),4.寄存器间接寻址,演示1,演示2,4.1.1,与数据有关的寻址方式(7种),5.寄存器相对寻址,4.1.1,与数据有关的寻址方式(7种),5.寄存器相对寻址,演示1,演示2,4.1.1,与数据有关的寻址方式(7种),6.基址变址寻址,4.1.1,与数据有关的寻址方式(7种),6.基址变址寻址,演示1,演示2,4.

7、1.1,与数据有关的寻址方式(7种),7 . 相对基址变址寻址,4.1.1,与数据有关的寻址方式(7种),7 . 相对基址变址寻址,演示1,演示2,第 4.2节,指令系统,4.2, 8086指令系统按功能可分为6大类:数据传送指令算术运算指令逻辑指令程序控制指令串处理指令输入输出类指令处理机控制指令,指令系统,数据传送指令,4.2.1,数据传送指令, 一.通用数据传送指令,(1)数据传送MOV指令,指令格式:MOV DST,SRC; 指令功能:将数据从源地址传送到目的地址,具有“复制”性质;DST、SRC分别为目的操作数和源操作数.,例如: MOV AX,1234HMOV AL,CL,注意,M

8、OV指令传送功能 MOV DST,SRC,MOV也并非任意传送,立即数,段寄存器 CS DS ES SS,通用寄存器 AX BX CX DX BP SP SI DI,存 储 器,4.2.1 数据传送指令,具体实现,1)数据在CPU内部寄存器之间传送MOV AL,BL ; 通用寄存器之间字节传送MOV DI,BX ; 通用寄存器之间字传送MOV DS,AX ; 通用寄存器传送到段寄存器MOV AX,ES ; 段寄存器传送到通用寄存器,2)立即数传送至CPU内部通用寄存器或存储器中MOV DL,58 ; 8位立即数传送到通用寄存器MOV BP,016AH ; 16位立即数传送到通用寄存器MOV B

9、YTE PTR BX,7BH ; 8位立即数传送到存储器MOV WORD PTR BX,057BH ; 16位立即数传送到存储器,4.2.1 数据传送指令,3)数据在CPU内部寄存器与存储器之间的传送MOV CL,BX+5 ; 字节传送MOV AX,SI ; 变址传送MOV DS,BX+SI ; 基址变址传送MOV AX,DATABPSI ; 相对基址变址传送MOV DI,BX ; 将BX内容传送到DI所指位置MOV BX, DATA1 ; 将符号地址DATA1的存储器内容传送到BX中,具体实现,4.2.1 数据传送指令,常见错误, CS和IP不能作为目的操作数MOV CS,AX (X) MO

10、V IP,AX (X), 不允许数据直接从存储器传送到存储器如要把DS段内偏移地址为ADDR1的存储单元的内容,传送至同一段内地址为ADDR2的存储单元中去,MOV ADDR2, ADDR1 MOV AL,ADDR1 MOV ADDR2,AL,(X),(V),4.2.1 数据传送指令,常见错误, 立即数不允许直接送段寄存器, 也不允许在两个段寄存器之间直接传送信息。MOV DS,5000H (X) MOV DS,ES (X) 可以用通用寄存器(如AX)为桥梁来实现传送。MOV AX,5000H MOV DS,AX (V),4.2.1 数据传送指令,一.通用数据传送指令,指令格式:XCHG OP

11、R1,OPR2;执行操作:OPR1 OPR2; 指令功能:将一个字节或一个字的源操作数和目的操作数相交换;,(2)交换指令XCHG,交换可在reg之间、reg与mem之间进行。可以是字节交换,也可以是字交换。段寄存器内容不能交换。,4.2.1 数据传送指令,复习提问,1. 说明程序功能,寻址方式,判断对错并改正 (1) MOV 2000H,BX (2) MOV 2000H,IP (3) MOV SS,2000H (4) MOV DS,SI+DI (5) MOV DS,ES (6) MOV BX+DI,AX (7) MOV BL,BP (8) MOV BX,BX+DI+2000H (9) MOV

12、 BH,BP+SI (10)MOV AL,ES:2000H (11) PUSH 2000H (12) POP DS,2. 现有:(DS)=2000H,(BX)=0100H,(SI)=0002H, (20100H)= 12H,(20101H)= 34H, (20102H)= 56H,(20103H)= 78H, (21200H)= 2AH,(21201H)= 4CH, (21202H)= 0B7H,(21203H)= 65H。试说明下列各指令执行后,AX寄存器的内容。,(1) MOV AX,1200H (2) MOV AX,BX (3) MOV AX,1200H (4) MOV AX,BX (5

13、) MOV AX,1100HBX (6) MOV AX,BXSI (7) MOV AX,1100HBXSI,复习提问,3. 假定:(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H, 数据段中变量名VAL的偏移地址值为0050H。 指出下列源操作数的寻址方式?有效地址和物理地址值是多少?,(1)MOV AX,00ABH (2)MOV AX,100H (3)MOV AX,BX (4)MOV AX,BP (5)MOV AX,BX+10 (6)MOV AX,BXSI (7)MOV AX,BX (8)MOV AX,VAL

14、(9)MOV AX,ES:BX (10)MOV AX,SI (11)MOV AX,VALBX (12)MOV AX,VALBPSI,堆栈:在内存中开辟的一片数据存储区(设置在堆栈段内), 存储方式:是一端固定,另一端活动,即只允许在一端向该存储区存入或取出数据,数据的存取遵循“先进后出”原则。 从硬件来看,堆栈由一片存储单元和一个指示器(即堆栈指针SP)组成。堆栈的固定端称栈底(BOTTOM)。 堆栈指针SP用于指示数据进栈和出栈时偏移地址的变化,SP所指示的最后进入数据的单元称栈顶(TOP),堆栈中所有数据的存取都在栈顶进行。,二.堆栈操作指令,4.2.1 数据传送指令,二.堆栈操作指令,4

15、.2.1 数据传送指令,(1)压栈指令格式 PUSH,格式为: PUSH SRC;(先减后压)执行的操作: (SP)(SP)2 (SP)1,(SP)(SRC)SRC可以是内部寄存器、段寄存器、存储器,二.堆栈操作指令,(2)出栈指令格式 POP,格式为: POP DST;(先弹后加)执行的操作: (DST)(SP)1,(SP)(SP)(SP)2;DST可以是内部寄存器、段寄存器(CS除外) 、存储器。,4.2.1 数据传送指令,(2)堆栈操作指令,1) 堆栈指令必须是16位双字节数,即每进行一次PUSH操作,SP减2;每进行一次POP操作SP加2; 2)目的操作数DST,与原操作数SRC都不能为立即数; 3) DST不能为代码段寄存器CS; 4) 堆栈指令不影响标志位寄存器FR的值。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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