最新微机原理课件第3章2PPT课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《最新微机原理课件第3章2PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微机原理课件第3章2PPT课件.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微机原理课件第微机原理课件第3 3章章2 23.2 80863.2 8086指令分类指令分类指令系统指令系统 是指是指CPUCPU能完成的所有能完成的所有指令的集合,它是在指令的集合,它是在CPUCPU设计时就确定了的。设计时就确定了的。所以,对不同的所以,对不同的CPUCPU,其指令系统中所包含,其指令系统中所包含的具体指令将是各不相同的。但的具体指令将是各不相同的。但8088/8086 8088/8086 CPUCPU的指令系统是完全一样的。的指令系统是完全一样的。立即寻址主要用来给立即寻址主要用来给REGREG或或M M赋初值。赋初值。注意:注意:只能用于源操作数字段,不能用于目的操只能
2、用于源操作数字段,不能用于目的操作数字段。作数字段。如:如:MOV 12H,AL (语法错误语法错误)3.3 3.3 数据寻址方式数据寻址方式2.2.寄存器寻址寄存器寻址 数据放在指令规定的寄存器中,对数据放在指令规定的寄存器中,对1616位数据,位数据,REGREG可以是可以是AXAX、BXBX、CXCX、DXDX、SISI、DIDI、SPSP、BPBP以及以及段寄存器段寄存器,而对于,而对于8 8位数据,位数据,REG REG可以是可以是AHAH、ALAL、BHBH、BLBL、CHCH、CLCL、DHDH、DLDL。3.3 3.3 数据寻址方式数据寻址方式例:例:MOV AX,BXMOV
3、AX,BXA XA X B XB X 若(若(AXAX)=1234H,(BX)=5678H=1234H,(BX)=5678H,则,则CPUCPU执行上条执行上条指令后,(指令后,(AXAX)=5678H=5678H,而(,而(BXBX)不变。)不变。又如:又如:MOV CX,DL MOV CX,DL(语法错误语法错误)错误原因:类型不一致。错误原因:类型不一致。3.3 3.3 数据寻址方式数据寻址方式 在程序设计中,一般存放数据时,寄存器选在程序设计中,一般存放数据时,寄存器选择通用寄存器,而存放结果时尽可能的使用择通用寄存器,而存放结果时尽可能的使用AXAX累累加器,因为使用加器,因为使用A
4、XAX累加器要比用其它寄存器存放累加器要比用其它寄存器存放结果,指令执行时间要短一些。结果,指令执行时间要短一些。寄存器寻址既可以作寄存器寻址既可以作DST,DST,也可以作也可以作SRCSRC。3.3 3.3 数据寻址方式数据寻址方式 这类寻址方式,操作数在存储器中,而这类寻址方式,操作数在存储器中,而存储器单元的地址由以下存储器单元的地址由以下五种五种寻址方式的任寻址方式的任何一种均可以找到何一种均可以找到。但在指令中给出的只是。但在指令中给出的只是要寻找的操作数所在单元的段内偏移地址,要寻找的操作数所在单元的段内偏移地址,而操作数所在单元的段地址除非指令中用段而操作数所在单元的段地址除非
5、指令中用段前缀特别指明,否则是默认的前缀特别指明,否则是默认的DSDS。3.3.存储器寻址存储器寻址3.3 3.3 数据寻址方式数据寻址方式PA(段寄存器段寄存器)16+指令中给出的偏移地址指令中给出的偏移地址 指令中直接给出了要寻找操作数所在单元的指令中直接给出了要寻找操作数所在单元的1616位偏移地址。位偏移地址。操作数所在单元的物理地址操作数所在单元的物理地址:PA(段寄存器段寄存器)16+指令中给出的偏移地址指令中给出的偏移地址直接寻址(直接寻址(Direct AddressingDirect Addressing )指令中直接给出的操作数所在单元的指令中直接给出的操作数所在单元的16
6、16位偏移位偏移地址地址,默认在数据段。也可以通过增加段前缀来改变默认在数据段。也可以通过增加段前缀来改变操作数所在的段地址。操作数所在的段地址。3.3 3.3 数据寻址方式数据寻址方式A XA XCSCS段段操作码操作码例例1 1:MOV AX,2000HMOV AX,2000H若若DSDS为为3000H3000H,则:,则:A HA H A LA L 32000H32000H32001H32001H3 0 0 0 0 H3 0 0 0 0 H +DSDS 存储器存储器数据段数据段20H20H00H00HA1HA1H 2 0 0 0 H 2 0 0 0 H PA=3 2 0 0 0 HPA=
7、3 2 0 0 0 H 3.3 3.3 数据寻址方式数据寻址方式34H34H12H12H(AX)=1234H(AX)=1234HCSCS段段操作码操作码例例2 2:MOV 2000H,ALMOV 2000H,AL若若DSDS为为3000H3000H,则:,则:A LA L 32000H32000H3 0 0 0 0 H3 0 0 0 0 H +DSDS 存储器存储器数据段数据段20H20H00H00H 2 0 0 0 H 2 0 0 0 H PA=3 2 0 0 0 HPA=3 2 0 0 0 H 3.3 3.3 数据寻址方式数据寻址方式CSCS段段操作码操作码例例3 3:MOV ES:200
8、0H,ALMOV ES:2000H,AL若若ESES为为2050H2050H,则:,则:A LA L 22500H22500H2 0 5 0 0 H2 0 5 0 0 H +ESES存储器存储器附加数据段附加数据段20H20H00H00H 2 0 0 0 H 2 0 0 0 H PA=2 2 5 0 0 HPA=2 2 5 0 0 H 前缀码前缀码3.3 3.3 数据寻址方式数据寻址方式 在实际的汇编语言程序设计中,如果程在实际的汇编语言程序设计中,如果程序比较复杂,而用到的存放数据的单元又很序比较复杂,而用到的存放数据的单元又很多,那么在直接寻址方式当中,用户就要记多,那么在直接寻址方式当中
9、,用户就要记住存放数据的每个单元的地址,同时还要记住存放数据的每个单元的地址,同时还要记住该地址单元存放的数据的意义,这样对设住该地址单元存放的数据的意义,这样对设计程序带来了很大的困难。如:计程序带来了很大的困难。如:MOV ES:2000H,ALMOV ES:2000H,AL3.3 3.3 数据寻址方式数据寻址方式所以在实际的汇编语言程序设计中,常常所以在实际的汇编语言程序设计中,常常采用给存放数据的单元,定义一个符号地采用给存放数据的单元,定义一个符号地址名,即址名,即变量名变量名/变量变量。如:。如:COUNT DB 20H COUNT DB 20H这样,在程序设计中就可以用这个变量名
10、代替这样,在程序设计中就可以用这个变量名代替原来的存储器单元的实际地址。原来的存储器单元的实际地址。3.3 3.3 数据寻址方式数据寻址方式例例4 4:若:若(DS)=1500H,TABLE(DS)=1500H,TABLE为在为在DSDS段定义的一个字变量,段定义的一个字变量,且偏移地址为且偏移地址为0004H0004H。则。则CPUCPU执行执行 MOV AX,TABLE MOV AX,TABLE 指令完指令完成的操作如下:成的操作如下:1 5 0 0 0 H1 5 0 0 0 H +DSDS存储器存储器数据段数据段 0 0 0 4 H 0 0 0 4 H PA=1 5 0 0 4 HPA=
11、1 5 0 0 4 H A HA H A LA L 15004H15004H15005H15005HTABLETABLE3.3 3.3 数据寻址方式数据寻址方式例例5 5:若:若VAR1VAR1为字变量,为字变量,VAR2 VAR2和和VAR3VAR3为字节变量,为字节变量,判断下列指令的书写格式是否正确,正确的说出判断下列指令的书写格式是否正确,正确的说出SRCSRC和和DSTDST的寻址方式,不正确说出错误原因。的寻址方式,不正确说出错误原因。MOV AX ,VAR1 MOV AX ,VAR1 SRCSRC为直接寻址为直接寻址 DST DST为寄存器寻址为寄存器寻址 MOV AX ,VAR
12、2 MOV AX ,VAR2 类型不一致类型不一致 MOV VAR2,VAR3 MOV VAR2,VAR3 两存储器单元之间不两存储器单元之间不 能直接传送数据能直接传送数据 MOV 0200H,12H MOV 0200H,12H 类型不明确类型不明确3.3 3.3 数据寻址方式数据寻址方式例例6 6:将例:将例5 5中语法不正确的语句改对。中语法不正确的语句改对。MOV AX ,VAR2 MOV AX ,VAR2 类型不一致类型不一致 改:改:MOV AL,VAR2MOV AL,VAR2 MOV VAR2,VAR3 MOV VAR2,VAR3 两存储器单元之间不两存储器单元之间不 改:改:M
13、OV AL,VAR3 MOV AL,VAR3 能直接传送数据能直接传送数据 MOV VAR2,AL MOV VAR2,AL MOV 0200H,12H MOV 0200H,12H 类型不明确类型不明确 改:改:MOV BYTE PTR 0200H,12HMOV BYTE PTR 0200H,12H 或者:或者:MOV WORD PTR 0200H,12HMOV WORD PTR 0200H,12H注:注:PTRPTR为临时属性修改符。为临时属性修改符。3.3 3.3 数据寻址方式数据寻址方式 这种寻址方式,要寻找的操作数在某存储器这种寻址方式,要寻找的操作数在某存储器单元中,该存储器单元地址的
14、段内单元中,该存储器单元地址的段内1616位偏移地址位偏移地址在指令中以在指令中以BXBX、SISI、DIDI某一个寄存器给出。其段某一个寄存器给出。其段地址默认在地址默认在DSDS段。段。SISIDIDIBXBXEAEA=寄存器间接寻址寄存器间接寻址Register Indirect AddressingRegister Indirect Addressing3.3 3.3 数据寻址方式数据寻址方式例例1 1:MOV AX,BXMOV AX,BX 其其SRCSRC为寄存器间接寻址;为寄存器间接寻址;DST DST为寄存器寻址;为寄存器寻址;指令完成的功能为:指令完成的功能为:AX (DS A
15、X (DS:(BX):(BX)若:若:DS=3000H,BX=1050HDS=3000H,BX=1050H 则:则:SRCSRC所在单元的物理地址为:所在单元的物理地址为:PA=(DS)PA=(DS)16+(BX)16+(BX)=30000H+1050H =30000H+1050H =31050H =31050H3.3 3.3 数据寻址方式数据寻址方式CSCS段段操作码操作码A HA H A LA L 31050H31050H31051H31051H 存储器存储器数据段数据段A XA X8BH8BH07H07H3 0 0 0 0 H3 0 0 0 0 H DS:DS:+1 0 5 0 H 1
16、0 5 0 H3 1 0 5 0 H3 1 0 5 0 H BX:BX:PA:PA:3.3 3.3 数据寻址方式数据寻址方式MOV AX,BXMOV AX,BX例例2 2:MOV ES:SI,ALMOV ES:SI,AL 指令完成的功能为:指令完成的功能为:(ES:(SI)(AL)(ES:(SI)(AL)若:若:ES=4000H,SI=1234H,(AL)=23HES=4000H,SI=1234H,(AL)=23H 则:则:DSTDST所在单元的物理地址为:所在单元的物理地址为:PA=(ES)PA=(ES)16+(SI)16+(SI)=40000H+1234H =40000H+1234H =4
17、1234H =41234H 指令执行后指令执行后(41234H)=23H.(41234H)=23H.3.3 3.3 数据寻址方式数据寻址方式例例3 3:判断下列指令的书写格式是否正确,正确的:判断下列指令的书写格式是否正确,正确的说出说出SRCSRC和和DSTDST的寻址方式,不正确说出错误原因,的寻址方式,不正确说出错误原因,并改正。并改正。MOV BX,SI MOV BX,SI 两存储器单元之间不两存储器单元之间不 能直接传送数据能直接传送数据;类型也类型也 不明确。不明确。改正:改正:MOV AL,SIMOV AL,SI MOV BX,AL MOV BX,AL 3.3 3.3 数据寻址方
18、式数据寻址方式 MOV DI,12H MOV DI,12H 类型不明确类型不明确 改正:改正:MOV WORD PTR DI,12HMOV WORD PTR DI,12H MOV SI,CX MOV SI,CX DSTDST为寄存器间接寻址为寄存器间接寻址 SRC SRC为寄存器寻址为寄存器寻址3.3 3.3 数据寻址方式数据寻址方式 要寻找的操作数在某存储器单元之中,该单元要寻找的操作数在某存储器单元之中,该单元的有效地址的一部分在的有效地址的一部分在 中,另一部分为一中,另一部分为一个个 DISP DISP。BPBPSISIBXBXDIDI寄存器相对寻址寄存器相对寻址Register Re
19、lative Addressing Register Relative Addressing 8 8位位1616位位其中,其中,DISPDISP相对位移量相对位移量3.3 3.3 数据寻址方式数据寻址方式EAEA=BPBPSISIBXBXDIDI8 8位位DISPDISP1616位位DISPDISP+在在DISPDISP为常数时,操作数所在单元的段地址以为常数时,操作数所在单元的段地址以寄存器为准,若寄存器为寄存器为准,若寄存器为BXBX、SISI、DIDI,操作数默认,操作数默认在在DSDS段中。若寄存器为段中。若寄存器为BPBP,操作数默认在,操作数默认在SSSS段中。段中。在在DISPD
20、ISP为变量时,操作数所在单元的段地址以为变量时,操作数所在单元的段地址以变量为准,变量在哪个段定义的,就取该段的段地变量为准,变量在哪个段定义的,就取该段的段地址。址。3.3 3.3 数据寻址方式数据寻址方式例例1 1:MOV AX,BX+05HMOV AX,BX+05H 其中,其中,SRCSRC也可以写成:也可以写成:若:若:DS=2000H,BX=0008H,DS=2000H,BX=0008H,存放操作存放操作数单元的物理地址为:数单元的物理地址为:PA=(DS)PA=(DS)16+(BX)+05H16+(BX)+05H =20000H+0008H+05H =20000H+0008H+0
21、5H =2000DH =2000DHBX+05HBX+05H05HBX05HBX05H+BX05H+BX3.3 3.3 数据寻址方式数据寻址方式CSCS段段操作码操作码A HA H A LA L 2000DH2000DH2000EH2000EH+存储器存储器数据段数据段AXAX8BH8BH47H47H05H05H2 0 0 0 0 H2 0 0 0 0 H0 0 0 8 H0 0 0 8 H2 0 0 0 D H2 0 0 0 D H0 0 0 5 H0 0 0 5 H3.3 3.3 数据寻址方式数据寻址方式MOV AX,BX+05HMOV AX,BX+05H例例2 2:MOV AX,BPMO
22、V AX,BP 若:若:SS=1050H,BP=0050H,SS=1050H,BP=0050H,存放操作存放操作数的存储单元的物理地址为:数的存储单元的物理地址为:PA=(SS)PA=(SS)16+(BP)+00H16+(BP)+00H =10500H+0050H+00H =10500H+0050H+00H =10550H =10550H3.3 3.3 数据寻址方式数据寻址方式CSCS段段操作码操作码A HA H A LA L 10550H10550H10551H10551H+存储器存储器SSSS段段相对偏移量相对偏移量DISPDISP为为0 0,这里特别,这里特别指出,指出,BPBP寄存器无
23、间接寻址,寄存器无间接寻址,只不过在相对寻址时,只不过在相对寻址时,DISPDISP为为0 0。1 0 5 5 0 H1 0 5 5 0 H 0 0 5 0 H 0 0 5 0 H1 0 5 0 0 H1 0 5 0 0 H3.3 3.3 数据寻址方式数据寻址方式MOV AX,BPMOV AX,BP例例3 3:若:若(DS)=1500H,TABLE(DS)=1500H,TABLE为在为在DSDS段定义的一个字段定义的一个字变量,且偏移地址为变量,且偏移地址为0004H,(BP)=0003H0004H,(BP)=0003H。MOV AX,TABLE BPMOV AX,TABLE BPSRCSRC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 微机 原理 课件 PPT
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内