微机原理课件第3章.ppt
《微机原理课件第3章.ppt》由会员分享,可在线阅读,更多相关《微机原理课件第3章.ppt(60页珍藏版)》请在三一办公上搜索。
1、本教案内容,第3章 8086CPU指令系统汇编语言指令8086指令分类数据与转移地址的寻址方式数据传送类指令算术运算类指令逻辑运算类指令移位类指令标志位操作指令,转移指令循环控制指令子程序调用返回指令中断调用返回指令字符串操作指令I/O输入输出指令其它指令宏指令,3.2 8086指令分类,指令系统 是指CPU能完成的所有指令的集合,它是在CPU设计时就确定了的。所以,对不同的CPU,其指令系统中所包含的具体指令将是各不相同的。但8088/8086 CPU的指令系统是完全一样的。,8088/8086 CPU的指令系统可分成下面13类:,(1)数据传送指令;(2)算术运算指令;(3)逻辑运算指令;
2、(4)移位指令;,3.2 8086指令分类,(5)标志位操作指令;(6)转移指令(7)循环控制指令;(8)子程序调用和返回指令;(9)中断调用和返回指令;(10)字符串操作指令;,3.2 8086指令分类,(11)输入、输出指令;(12)其它指令(13)宏指令,3.2 8086指令分类,数据的寻址方式(共8种):立即寻址(Immediate Addressing)寄存器寻址(Register Addressing)存储器寻址(Memory Addressing)(5种):直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址和基址变址且相对寻址隐含寻址(Hidden Addressing),数
3、据的寻址方式就是告诉CPU存/取数据的地方。,3.3 数据寻址方式,操作数直接存放在指令中,紧跟在操作码之后,作为指令的一部分,存放在代码段里,这种操作数称为立即数。如:MOV AL,12H MOV AX,1234H,3.3 数据寻址方式,A H,A L,A X,操作码,存储器,例:MOV AX,1234H,B8H,34H,12H,(AX)=1234H,3.3 数据寻址方式,立即寻址主要用来给REG或M赋初值。注意:只能用于源操作数字段,不能用于目的操作数字段。如:MOV 12H,AL(语法错误),3.3 数据寻址方式,数据放在指令规定的寄存器中,对16位数据,REG可以是AX、BX、CX、D
4、X、SI、DI、SP、BP以及段寄存器,而对于8位数据,REG可以是AH、AL、BH、BL、CH、CL、DH、DL。,3.3 数据寻址方式,例:MOV AX,BX,若(AX)=1234H,(BX)=5678H,则CPU执行上条指令后,(AX)=5678H,而(BX)不变。,又如:MOV CX,DL,(语法错误),错误原因:类型不一致。,3.3 数据寻址方式,在程序设计中,一般存放数据时,寄存器选择通用寄存器,而存放结果时尽可能的使用AX累加器,因为使用AX累加器要比用其它寄存器存放结果,指令执行时间要短一些。寄存器寻址既可以作DST,也可以作SRC。,3.3 数据寻址方式,这类寻址方式,操作数
5、在存储器中,而存储器单元的地址由以下五种寻址方式的任何一种均可以找到。但在指令中给出的只是要寻找的操作数所在单元的段内偏移地址,而操作数所在单元的段地址除非指令中用段前缀特别指明,否则是默认的DS。,3.3 数据寻址方式,PA(段寄存器)16+指令中给出的偏移地址,指令中直接给出了要寻找操作数所在单元的16位偏移地址。,操作数所在单元的物理地址:PA(段寄存器)16+指令中给出的偏移地址,直接寻址(Direct Addressing),指令中直接给出的操作数所在单元的16位偏移地址,默认在数据段。也可以通过增加段前缀来改变操作数所在的段地址。,3.3 数据寻址方式,A X,CS段,操作码,例1
6、:MOV AX,2000H若DS为3000H,则:,A H,A L,32000H,32001H,3 0 0 0 0 H,+,DS,存储器,20H,00H,A1H,2 0 0 0 H,PA=3 2 0 0 0 H,3.3 数据寻址方式,34H,12H,(AX)=1234H,CS段,操作码,例2:MOV 2000H,AL若DS为3000H,则:,A L,32000H,3 0 0 0 0 H,+,DS,存储器,20H,00H,2 0 0 0 H,PA=3 2 0 0 0 H,3.3 数据寻址方式,CS段,操作码,例3:MOV ES:2000H,AL若ES为2050H,则:,A L,22500H,2
7、0 5 0 0 H,+,ES,存储器,20H,00H,2 0 0 0 H,PA=2 2 5 0 0 H,前缀码,3.3 数据寻址方式,在实际的汇编语言程序设计中,如果程序比较复杂,而用到的存放数据的单元又很多,那么在直接寻址方式当中,用户就要记住存放数据的每个单元的地址,同时还要记住该地址单元存放的数据的意义,这样对设计程序带来了很大的困难。如:MOV ES:2000H,AL,3.3 数据寻址方式,所以在实际的汇编语言程序设计中,常常采用给存放数据的单元,定义一个符号地址名,即变量名/变量。如:COUNT DB 20H这样,在程序设计中就可以用这个变量名代替原来的存储器单元的实际地址。,3.3
8、 数据寻址方式,例4:若(DS)=1500H,TABLE为在DS段定义的一个字变量,且偏移地址为0004H。则CPU执行 MOV AX,TABLE 指令完成的操作如下:,1 5 0 0 0 H,+,DS,存储器,数据段,0 0 0 4 H,PA=1 5 0 0 4 H,A H,A L,15004H,15005H,TABLE,3.3 数据寻址方式,例5:若VAR1为字变量,VAR2和VAR3为字节变量,判断下列指令的书写格式是否正确,正确的说出SRC和DST的寻址方式,不正确说出错误原因。,MOV AX,VAR1 SRC为直接寻址 DST为寄存器寻址 MOV AX,VAR2 类型不一致 MOV
9、VAR2,VAR3 两存储器单元之间不 能直接传送数据 MOV 0200H,12H 类型不明确,3.3 数据寻址方式,例6:将例5中语法不正确的语句改对。,MOV AX,VAR2 类型不一致 改:MOV AL,VAR2 MOV VAR2,VAR3 两存储器单元之间不 改:MOV AL,VAR3 能直接传送数据 MOV VAR2,AL MOV 0200H,12H 类型不明确 改:MOV BYTE PTR 0200H,12H 或者:MOV WORD PTR 0200H,12H,注:PTR为临时属性修改符。,3.3 数据寻址方式,这种寻址方式,要寻找的操作数在某存储器单元中,该存储器单元地址的段内1
10、6位偏移地址在指令中以BX、SI、DI某一个寄存器给出。其段地址默认在DS段。,SI,DI,BX,EA=,寄存器间接寻址Register Indirect Addressing,3.3 数据寻址方式,例1:MOV AX,BX 其SRC为寄存器间接寻址;DST为寄存器寻址;指令完成的功能为:AX(DS:(BX)若:DS=3000H,BX=1050H 则:SRC所在单元的物理地址为:,PA=(DS)16+(BX)=30000H+1050H=31050H,3.3 数据寻址方式,操作码,A H,A L,31050H,31051H,存储器,A X,8BH,07H,3 0 0 0 0 H,DS:,+,1
11、0 5 0 H,3 1 0 5 0 H,BX:,PA:,3.3 数据寻址方式,MOV AX,BX,例2:MOV ES:SI,AL 指令完成的功能为:(ES:(SI)(AL)若:ES=4000H,SI=1234H,(AL)=23H 则:DST所在单元的物理地址为:PA=(ES)16+(SI)=40000H+1234H=41234H 指令执行后(41234H)=23H.,3.3 数据寻址方式,例3:判断下列指令的书写格式是否正确,正确的说出SRC和DST的寻址方式,不正确说出错误原因,并改正。MOV BX,SI 两存储器单元之间不 能直接传送数据;类型也 不明确。改正:MOV AL,SI MOV
12、BX,AL,3.3 数据寻址方式,MOV DI,12H 类型不明确 改正:MOV WORD PTR DI,12H,MOV SI,CX DST为寄存器间接寻址 SRC为寄存器寻址,3.3 数据寻址方式,要寻找的操作数在某存储器单元之中,该单元的有效地址的一部分在 中,另一部分为一个 DISP。,寄存器相对寻址Register Relative Addressing,其中,DISP,相对位移量,3.3 数据寻址方式,EA=,+,在DISP为常数时,操作数所在单元的段地址以寄存器为准,若寄存器为BX、SI、DI,操作数默认在DS段中。若寄存器为BP,操作数默认在SS段中。在DISP为变量时,操作数所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课件
链接地址:https://www.31ppt.com/p-6284496.html