第4章 指系统之寻址方式 1.ppt

上传人:s****8 文档编号:66865635 上传时间:2022-12-21 格式:PPT 页数:46 大小:441KB
返回 下载 相关 举报
第4章 指系统之寻址方式 1.ppt_第1页
第1页 / 共46页
第4章 指系统之寻址方式 1.ppt_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《第4章 指系统之寻址方式 1.ppt》由会员分享,可在线阅读,更多相关《第4章 指系统之寻址方式 1.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第四章:第四章:8086/8088CPU8086/8088CPU指令系统指令系统 指指 令令 系系 统统 l概述概述 l指令码格式指令码格式 l具体指令具体指令 l寻址方式寻址方式 l数据传送指令数据传送指令 l算术运算指令算术运算指令 l串操作指令串操作指令 l控制转移指令控制转移指令 l处理器控制指令处理器控制指令 l逻辑运算和移位指令逻辑运算和移位指令 本章内容本章内容本章内容本章内容学习目的学习目的学习目的学习目的1.1.掌握指令及指令系统的基本概念。掌握指令及指令系统的基本概念。2.掌握掌握8086各种寻址方式所执行的数据寻址过程。各种寻址方式所执行的数据寻址过程。3.3.牢固地掌握

2、存储器牢固地掌握存储器(段地址:偏移地址段地址:偏移地址)的组织的组织结构和段约定的基本概念。结构和段约定的基本概念。第四章:第四章:8086/8088CPU8086/8088CPU指令系统指令系统4.掌握每条掌握每条8086指令的格式、功能及用法。指令的格式、功能及用法。5.学会正确选用指令完成简单的任务。学会正确选用指令完成简单的任务。4.1 4.1 概概 述述一、指令一、指令一、指令一、指令 (Instruction):(Instruction):指令通常以二进制代码的形式提供给计算机,这种指令称为机器指令。例例:10001000 11011000就是一条2字节的机器指令,指示计算机执行

3、:“把寄存器BL内容复制到寄存器AL之中”的操作。表示为:ALBL。指示计算机执行什么操作的命令命令。二、指令系统二、指令系统二、指令系统二、指令系统 (Instruction(Instruction System):System):三、程序三、程序三、程序三、程序 (Program):(Program):完成某个特定任务而编制的一系列指令的有序有序集合。程程序序的的执执行行一一般般是是按按指指令令的的先先后后次次序序一一条条一一条条执执行行,但但遇遇到到转转移移类类指指令令时时则则可可能能改改变变指指令令的的执行次序。执行次序。计算机所能执行的全部全部指令指令。4.1 4.1 概概 述述四、

4、指令包含的基本内容四、指令包含的基本内容四、指令包含的基本内容四、指令包含的基本内容1.1.1.1.做什么操作做什么操作做什么操作做什么操作由指令的操作码操作码字段规定。2.2.2.2.操作数的来源操作数的来源操作数的来源操作数的来源操作数来自于什么地方。由指令的操操作作数数字段规定。4.1 4.1 概概 述述操作数的来源可以是:操作数的来源可以是:a.CPU内的某个寄存器寄存器;b.存储器内的某一个或几个单元单元;c.I/O端口端口;d.立即数。4.1 4.1 概概 述述3.3.3.3.操作结果的去向操作结果的去向操作结果的去向操作结果的去向操作的结果结果将存放在何处。4.4.4.4.下一条

5、指令的位置下一条指令的位置下一条指令的位置下一条指令的位置指示下一条指令是顺序顺序执行还是转移转移执行。4.1 4.1 概概 述述五、指令的种类五、指令的种类五、指令的种类五、指令的种类1.1.1.1.数据处理指令数据处理指令数据处理指令数据处理指令2.2.2.2.数据传送指令数据传送指令数据传送指令数据传送指令3.3.3.3.程序处理指令程序处理指令程序处理指令程序处理指令4.4.4.4.状态管理指令状态管理指令状态管理指令状态管理指令4.1 4.1 概概 述述六、指令的表示方法六、指令的表示方法六、指令的表示方法六、指令的表示方法1.二进制代码表示二进制代码表示机器语言指令机器语言指令2.

6、助记符表示助记符表示汇编语言指令汇编语言指令例:10001000 11011000例:MOV BL,ALMOV表示“传传送送”助记符,BL(寄存器)表示结果存放的位置,AL(寄存器)表示数据的来源。4.1 4.1 概概 述述助记符表示的指令便于书写、理解和记忆,但最终必须将助记符指令“翻译”成机器指令才能被识别和执行。这个过程叫“汇编”。助记符指令助记符指令机器指令机器指令汇编汇编4.1 4.1 概概 述述地址地址:数据和指令存放的位置。数据存放的位置可以是寄寄存存器器、存存储储器器或I/OI/O端端口口,指令存放的位置只能是存储器中的代码段代码段。寻址方式:寻址方式:寻找指令地址和操作数地址

7、的方式。寻址过程:寻址过程:形成指令地址和操作数地址的过程。4.2 80864.2 8086指令的格式及寻址指令的格式及寻址结果AHAL1.1.1.1.固定寻址固定寻址固定寻址固定寻址 (隐含寻址隐含寻址隐含寻址隐含寻址)操作数在某个固定的寄存器寄存器中。这个固定的寄存器大多为AL或AX。例例:AAA操操作作:对固定寄存器AL中的内容进行十进制调整,结果仍在AL中。(可能影响AH的内容)十进制调整十进制调整影响影响+1送回送回2.2.2.2.立即数寻址立即数寻址立即数寻址立即数寻址操作数作为立即数立即数就在指令中给出。例例:MOV AX,1234H操作操作:把立即数1234H送寄存器AX中。机

8、器码:B8 34 12 (低字节在地址小的单元)AHALAX.B83412.5678代码段代码段(存储器中存储器中)操作码操作码(B8)操作数操作数(1234H)立即数立即数一一条条指指令令指令执行后,AX=1234H(原有的内容被新的内容替换)。1234MOV AX,1234H3.3.3.3.寄存器寻址寄存器寻址寄存器寻址寄存器寻址操作数在某个寄存器寄存器中。例例:INC BL操作操作:使BL中内容加1后送回+1BL00若BL=00H,则执行后BL=01HBL=FFH,则执行后BL=00H(自动溢出)014.4.4.4.存储器寻址存储器寻址存储器寻址存储器寻址操作数在存储器存储器中的一个或几

9、个单元单元中。在这种寻址方式下,要找到该操作数,关键是必须找到该操作数所在单元的地址地址。由于8086采用存储器段组织结构,内存单元的地址由段段起起始始地地址址(基基地地址址)和该单元与段起始地址之间的距距离离(以字字节节数数计)两部分共同决定。段段起起始始地地址址(基地址):某个段寄存器的内容(又称段基值段基值)乘以16得到。段段内内偏偏移移量量:该单元与段起始地址之间的距距离离(字节数字节数)。又称有效地址EA。有效地址有效地址EA待寻址的内存单元待寻址的内存单元(CS,DS,ES,SS)16 段段基基地地址址物理地址物理地址=段基值段基值 16+EA内存单元物理地址内存单元物理地址808

10、6规定,在执行某种操作时,采用的段寄存器有一个预先的约约定定。故指令中一般只需给出有关EA的信息,则CPU将能够根据该次操作自自动动选用段段寄寄存存器器,并与EA一起形成物理地址物理地址。存储器寻址的实质就是如何形成有有效效地址地址EA。(1)直接寻址方式直接寻址方式指令中以偏移量方式直直接接给出操作数的有效地址。即EA=指令中给出的偏移量例例:MOV AX,1234H机器码机器码:A1 34 12操作操作:把偏移量1234H作为EA,在数据数据段段中找到相应的字字单元,再将字单元的内容送AX。本例执行完后,本例执行完后,AX=3050HEA=1234H设DS=3000H31234H1234H

11、+EA=1234H31234H56783050DS16=30000H30000H=3000H16.A13412.5030.指令代码段数据段AHALAXMOV AX,1234Ha.直接寻址的操作过程与立即寻址不同。为表示它们的区别,直接寻址的偏移量用一对“”表示。立即寻址立即寻址:MOV AX,1234H直接寻址直接寻址:MOV AX,1234Hb.段基址乘以16,相当于段基值(二进制表示)左移4位,或段基值(十六进制表示)在末尾添一个0H。注:注:(2)间接寻址方式间接寻址方式以间间接接的方式得到有效地址EA,有几个专用的寄存器可用于间接寻址:BX,BP,SI,DI。a.基址寻址方式基址寻址方

12、式以BX作为基址寻址寄存器,操作数在数据段数据段中。以BP作为基址寻址寄存器,操作数在堆栈段堆栈段中。EA=BX或BP的内容+8位或16位位移量例例:MOV AX,BX机器码机器码:8B 04操操作作:以BX的内容作为有效地址EA,在数数据据段段中找到对应的字单元,再将该字单元的内容送AX中。EA=BX (位移量为0)设DS=2000H,BX=1000H本例执行后本例执行后 AX=50A0HDS=2000HDS1620000HEA=BX(=1000H)21000H50A08B.04A050代码段数据段AXAHAL这种寻址方式的优点就在于可以随时修改BX寄存器的内容,而指向不同的存储单元。故BX

13、又称为基址指针寄存器。例例:MOV AL,DATABP 这里DATA是以符号符号表示的位移量位移量。EA=BP+位移量DATA操操作作:以EA作为有效地址,在堆堆栈栈段段中去 寻址字节字节单元,再将该字节单元内容送AL。b.变址寻址方式变址寻址方式以SI,DI寄存器作为间间接接寻寻址址寄存器,操作数在数据段数据段中。EA=SI或DI内容+8位或16位位移量 例例:ADD AX,SI EA=SI操操作作:以EA作为有效地址,在数数据据段段中找到某个操作数,再将该操作数与AX的内容相加,结果存放在AX中。c.基址变址寻址方式基址变址寻址方式既有基址寄存器(BX或BP),又有变址寄存器参与(SI或D

14、I)寻址,操作数在基基址址寄存器所规定的段中。EA=BX或BP+SI或DI+8位或16位位移量例例:MOV AX,0260H BX SIEA=BX+SI+0260H,操作数在数据段数据段中MOV AX,INF BP+DIEA=BP+DI+位移量INF,操作数在堆栈段堆栈段中 *以上两种基址+变址的格式都是合法的。(3)串操作指令寻址串操作指令寻址这类指令规定这类指令规定:源串源串操作数在数据段数据段,且有效地址EA=SI目的串目的串操作数在附加段附加段,且有效地址EA=DI指令执行后,自自动动修改SI,DI的值,使之指向新的单元。8086的段约定的段约定8086在执行某种操作时,预预先先规定了

15、采用的段寄存器和段,即有基本的段段约约定定。如果要改变默认的段约定,则需要在指令中明 确指出来。8086/8088的段约定的段约定存储器存取方式存储器存取方式基本段约定基本段约定 允许修改的段允许修改的段偏移地址偏移地址取指令取指令堆栈操作堆栈操作源串源串目的串目的串用用BP作基址寄存器作基址寄存器通用数据读写通用数据读写CSSSDSESSSDS无无无无ES,CS,SS无无CS,DS,ESCS,ES,SSIPSPSIDIEAEA5.I/O5.I/O5.I/O5.I/O端口寻址方式端口寻址方式端口寻址方式端口寻址方式操作数在某个8位位或16位位端口端口中。端口地址可以置于DX中,但不能置于其它寄

16、存器中。端口的输入、输出数据只能置于累加器 AL或AX中。注:注:b.端口输出端口输出OUT port,ALa.端口输入端口输入IN AL,portport=端口地址(8位,0255)例例:IN AL,80H操操作作:从端口地址为80H的端口输入一字节送AL。(1)直接端口寻址直接端口寻址(2)间接端口寻址间接端口寻址可以把端口地址送入DX,然后进行端口寻址:输入:IN AL,DX输出:OUT DX,AL注注:若用AX代替AL,则表示16位数据的端口。端口地址大于255时,必须将端口地址送入DX,即采用间接寻址端口方式。6.6.6.6.转移类指令的寻址方式转移类指令的寻址方式转移类指令的寻址方

17、式转移类指令的寻址方式前面所述的各种寻址方式实际上是数数据据寻址寻址方式,关键是如何找到操作数操作数。转移类指令寻址方式属于程程序序存存储储器器寻寻址址,关键是要找到下一条待执行指令的地址地址。(1)转移范转移范围围段内转移:转移范围在同一个段同一个段以内段间转移:从一一个个代码段转移至另另一一个个代码段(2)转移条件转移条件无条件转移有 条 件 转 移 (转 移 范 围 仅 为 128+127)(3)转移方转移方式式直接转移(转移目标直接直接在指令中给出)间接转移(转移目标预先放入某个寄寄存器存器或存储器存储器中)寻址方式总结寻址方式总结固定寻址固定寻址:操作数固定在某个寄存器寄存器中寄存器

18、寻址寄存器寻址:操作数在某个寄存器寄存器中立即数寻址立即数寻址:操作数就是操作码后跟的立即数立即数存储器寻址存储器寻址直接寻址间接寻址串操作寻址基址寻址变址寻址基址+变址寻址I/O端口寻址端口寻址直接端口寻址间接端口寻址转移类指令寻址转移类指令寻址基址变址寻址基址变址寻址 基址变址寻址基址变址寻址基址变址寻址基址变址寻址(Based Index Addressing)(Based Index Addressing)中的操中的操中的操中的操作数的有效地址是一个基址寄存器(如作数的有效地址是一个基址寄存器(如作数的有效地址是一个基址寄存器(如作数的有效地址是一个基址寄存器(如BXBX、BPBP)和

19、和和和一个变址寄存器(如一个变址寄存器(如一个变址寄存器(如一个变址寄存器(如SISI、DIDI)的内容之和,两个寄的内容之和,两个寄的内容之和,两个寄的内容之和,两个寄存器均由指令指出。存器均由指令指出。存器均由指令指出。存器均由指令指出。操作数的段地址分配和前面所操作数的段地址分配和前面所操作数的段地址分配和前面所操作数的段地址分配和前面所述相同,即使用默认段基址或使用段超越前缀来指述相同,即使用默认段基址或使用段超越前缀来指述相同,即使用默认段基址或使用段超越前缀来指述相同,即使用默认段基址或使用段超越前缀来指定段基址。定段基址。定段基址。定段基址。MOV AX,BXDIMOV AX,B

20、XDI 或或或或 MOV AX,BX+DI MOV AX,BX+DI 设设设设DS=2000H DS=2000H DI=1000H DI=1000H BX=8000HBX=8000H,则则则则该该该该指指指指令令令令表表表表示示示示将将将将物物物物理理理理地地地地址址址址=20000H+8000H+1000H=29000H=20000H+8000H+1000H=29000H为首地址的一个字的内容送为首地址的一个字的内容送为首地址的一个字的内容送为首地址的一个字的内容送AXAX中。中。中。中。例例例例相对基址变址寻址相对基址变址寻址 相相相相对对对对基址基址基址基址变变变变址址址址寻寻寻寻址址址

21、址(Relative Based Indexed(Relative Based Indexed(Relative Based Indexed(Relative Based Indexed Addressing)Addressing)Addressing)Addressing)中操作数的有效地址是一个基址寄存器中操作数的有效地址是一个基址寄存器中操作数的有效地址是一个基址寄存器中操作数的有效地址是一个基址寄存器和一个和一个和一个和一个变变变变址寄存器的内容和址寄存器的内容和址寄存器的内容和址寄存器的内容和8 8 8 8位或位或位或位或16161616位位移量位位移量位位移量位位移量这这这这三者三

22、者三者三者之和。之和。之和。之和。同同同同样样样样地,当使用基址寄存器地,当使用基址寄存器地,当使用基址寄存器地,当使用基址寄存器BXBXBXBX时时时时,缺省的段,缺省的段,缺省的段,缺省的段寄存器是寄存器是寄存器是寄存器是DSDSDSDS;当使用基址寄存器当使用基址寄存器当使用基址寄存器当使用基址寄存器BPBPBPBP时时时时,缺省的段寄,缺省的段寄,缺省的段寄,缺省的段寄存器是存器是存器是存器是SSSSSSSS。小结小结l除了立即寻址和寄存器寻址外,其它寻址方式的操作数都来除了立即寻址和寄存器寻址外,其它寻址方式的操作数都来自存储区。自存储区。l只有只有BX、BP、SI、DI可以在方括号

23、可以在方括号“”内出现。内出现。lBX和和BP可以单独出现在可以单独出现在“”内,也可以与内,也可以与SI,DI或常数或常数一起出现在一起出现在“”内,不允许内,不允许BX,BP同时出现在一个同时出现在一个“”内。内。lSI或或DI可以单独出现在可以单独出现在“”内,也可以与内,也可以与BX,BP或常数或常数一起出现在一起出现在“”内,不允许内,不允许SI,DI同时出现在一个同时出现在一个“”内。内。l一个一个“”内包括多个内容时,它们只能相加。内包括多个内容时,它们只能相加。l若若“”内包含内包含BP,则隐含使用堆栈段寄存器,则隐含使用堆栈段寄存器SS。否则,。否则,均隐含使用数据段寄存器均

24、隐含使用数据段寄存器DS。课堂练习与思考:课堂练习与思考:1.请指出下列每条指令源操作数的寻址方式。请指出下列每条指令源操作数的寻址方式。(1)MOV AX,BX(2)MOV CH,3AH(3)MOV BX,2000H(4)MOV DX,BX(5)MOV CX,BP+2(6)MOV AX,3BX DI(7)MOV AL,ES:SI(8)MOV BX,DS:BP;寄存器寻址,操作数在BX中;立即数寻址,操作数为3AH;直接寻址,EA=2000H,数在数据段;间接寻址,EA=BX,数在数据段;间接寻址,EA=BP+2,数在堆栈段;间接寻址,EA=BX+DI+3,数在数据段;间接寻址,EA=SI,数

25、在附加段;间接寻址,EA=BP,数在数据段课堂练习与思考:课堂练习与思考:2.MOV AX2.MOV AX,BX+SI+0080HBX+SI+0080H,即将即将BXBX与与SISI中的内容与中的内容与0080H0080H相加作有效地址。相加作有效地址。3.3.设设BX=0123H DI=1000H DS=3200HBX=0123H DI=1000H DS=3200H,默认默认DSDS作为操作为操作数对应的段寄存器作数对应的段寄存器(假定没使用段前缀假定没使用段前缀),试指出下,试指出下列指令的寻址方式,并写出其操作数的有效地址和物列指令的寻址方式,并写出其操作数的有效地址和物理地址。理地址。

26、(1)MOV AX,1A38H(2)MOV AX,BX(3)MOV AX,BX+1A38H(4)MOV AX,BX+DI(5)MOV AX,BX+DI+1A38H课堂练习与思考:课堂练习与思考:解:解:解:解:(1)直接寻址 有效地址=1A38H,物理地址=32000H+1A38H=33A38H(2)寄存器间接寻址 有效地址=0123H,物理地址=32000H+0123H=32123H(3)寄存器相对寻址 有效地址=0123H+1A38H=1B5BH,物理地址=32000H+1B5B=33B5BH(4)基址变址寻址 有效地址=0123H+1000H=1123H,物理地址=32000H+0123H=33123H(5)相对基址变址寻址 有效地址=0123H+1000H+1A38H=2B5BH,物理地址=32000H+2B5BH=34B5BH

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

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁