微机原理-寻址方式ppt课件.ppt

上传人:飞****2 文档编号:30274820 上传时间:2022-08-06 格式:PPT 页数:42 大小:1,012.50KB
返回 下载 相关 举报
微机原理-寻址方式ppt课件.ppt_第1页
第1页 / 共42页
微机原理-寻址方式ppt课件.ppt_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《微机原理-寻址方式ppt课件.ppt》由会员分享,可在线阅读,更多相关《微机原理-寻址方式ppt课件.ppt(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第3章 8086的指令系统学习目标学习目标 掌握掌握8086指令格式和寻址方式指令格式和寻址方式 掌握掌握8086各类指令的使用及注意事项各类指令的使用及注意事项 学会分析各种基本指令的使用学会分析各种基本指令的使用 初步掌握使用汇编指令书写程序段的基本初步掌握使用汇编指令书写程序段的基本方法方法3.0基础知识:基础知识: 什么是汇编语言什么是汇编语言 汇编语言是一种面向机器的低级程序设计语言汇编语言是一种面向机器的低级程序设计语言 汇编语言以助记符形式表示每一条计算机指令汇编语言以助记符形式表示每一条计算机指令 助记符是便于记忆、并能描述指令功能和操作数的符号助记符是便于记忆、并能描述指令功

2、能和操作数的符号 助记符一般就是表明指令功能的英语单词或缩写助记符一般就是表明指令功能的英语单词或缩写 用汇编语言书写的程序就是汇编语言程序,或用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序(称汇编语言源程序(.ASM) 汇编语言的主要特点:汇编语言的主要特点: 汇编语言程序与处理器指令系统密切相关汇编语言程序与处理器指令系统密切相关 程序员可直接、有效地控制系统硬件程序员可直接、有效地控制系统硬件 形成的可执行文件运行速度快、占用主存容量少形成的可执行文件运行速度快、占用主存容量少基础知识:汇编语言开发步骤基础知识:汇编语言开发步骤源程序源程序. asm可执行文件可执行文件. ex

3、e目标模块目标模块. obj文本编辑器文本编辑器汇编程序汇编程序MASM连接程序连接程序LINK调试程序调试程序指令的组成:指令的组成: 操作码操作码说明计算机要执行哪种操作,如传送、运说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的算、移位、跳转等操作,它是指令中不可缺少的组成部分组成部分 操作数操作数是指令执行的参与者,即各种操作的对象是指令执行的参与者,即各种操作的对象 有些指令不需要操作数,通常的指令都有一个或有些指令不需要操作数,通常的指令都有一个或两个操作数两个操作数操作码操作码操作数操作数3.1 指令系统及指令格式指令系统及指令格式指令的助记符格式指

4、令的助记符格式 操作数操作数2 2,称为,称为源操作数源操作数 srcsrc,它表示参与它表示参与指令操作的一个对象指令操作的一个对象 操作数操作数1 1,称为,称为目的操作数目的操作数 dstdst,它不仅可它不仅可以作为指令操作的一个对象,还可以用来以作为指令操作的一个对象,还可以用来存放指令操作的结果存放指令操作的结果 分号后的内容是对指令的解释分号后的内容是对指令的解释操作码操作码 操作数操作数1 1, ,操作数操作数2 2 ;注释;注释指令的操作码和操作数指令的操作码和操作数 每种指令的每种指令的操作码操作码: 用一个唯一的助记符表示(指令功能的英文缩用一个唯一的助记符表示(指令功能

5、的英文缩写)写) 对应着机器指令的一个二进制编码对应着机器指令的一个二进制编码 指令中的指令中的操作数操作数: 可以是一个可以是一个具体的数值具体的数值 可以是存放数据的可以是存放数据的寄存器寄存器 或指明数据在主存位置的或指明数据在主存位置的存储器存储器地址地址寻找操作数的过程就是操作数的寻址寻找操作数的过程就是操作数的寻址传送指令传送指令MOV的格式的格式MOV MOV dst,srcdst,src;dstsrcdstsrc 功能功能: :将源操作数将源操作数srcsrc传送至目的操作数传送至目的操作数dstdst 例:例:MOV AL,05HMOV AL,05H;AL05HAL05HMO

6、V BX,AXMOV BX,AX;BXAXBXAXMOV AX,SIMOV AX,SI;AXDS:SIAXDS:SIMOV AX,BP+06HMOV AX,BP+06H;AXSS:BP+06HAXSS:BP+06HMOV AX,BX+SIMOV AX,BX+SI ;AXDS:BX+SIAXDS:BX+SI传送指令传送指令MOV的功能的功能源操作数源操作数 src目的操作数目的操作数 dst30H30H被传送的数据被传送的数据80868086的内部结构的内部结构内部暂存器内部暂存器 IP ES SS DS CS输入输入/输出输出控制电路控制电路外外 部部 总总 线线执行部分执行部分控制电路控制电

7、路ALU标志寄存器标志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用通用寄存器寄存器地址地址加法加法器器指令队列指令队列执行部件执行部件 (EU)总线接口部件总线接口部件 (BIU)16位位20位位16位位8位位1 2 3 4 5 6AH AX ALBH BX BLCH CX CLDH DX DLSPBPDISIIPFLAGSCSDSESSSFSGS32位名称位名称EAXEBXECXEDXESPEBPEDIESI8位名称位名称16位名称位名称EIPEFLAGS 名称名称累加器累加器基址变址基址变址计数计数数据数据堆栈指针堆栈指针基址指针基址指针目的变址目的变址

8、源变址源变址指令指针指令指针标志标志代码代码数据数据附加附加堆栈堆栈32位位16位位注意:注意: 286以下绿色区域不可用;以下绿色区域不可用; FS、GS 无专用名称;无专用名称;3.2 寻址方式寻址方式 立即数寻址方式立即数寻址方式 寄存器寻址方式寄存器寻址方式 存储器寻址方式存储器寻址方式直接寻址方式直接寻址方式寄存器间接寻址方式寄存器间接寻址方式寄存器相对寻址方式寄存器相对寻址方式基址变址寻址方式基址变址寻址方式相对基址变址寻址方式相对基址变址寻址方式1. 1. 立即数寻址方式立即数寻址方式 指令中的操作数直接存放在机器代码中,指令中的操作数直接存放在机器代码中,紧跟在操作码之后(操作

9、数作为指令的一紧跟在操作码之后(操作数作为指令的一部分存放在操作码之后的主存单元中)部分存放在操作码之后的主存单元中) 这种操作数被称为立即数这种操作数被称为立即数它可以是它可以是8位数值位数值(00HFFH)也可以是也可以是16位数值位数值(0000HFFFFH) 立即数寻址方式常用来给寄存器赋初值立即数寻址方式常用来给寄存器赋初值立即数可以是立即数可以是8位或位或16位位(16位的立即数是高位字节放在高地位的立即数是高位字节放在高地址址,低位字节放在低地址低位字节放在低地址) 。l 应用场合应用场合: 立即数常用来给寄存器或内存单元赋初值。立即数常用来给寄存器或内存单元赋初值。 56B8内

10、内存存 20数数作作操操操操作作码码例例1 MOV AX , 2056H 结果结果 ( AH ) = 20H ( AL ) = 56H 例例2 MOV AL , 78 H 结果结果 ( AL ) = 78H注意:注意:只能用于源操作数字段只能用于源操作数字段,不能用于目的操作数字段。,不能用于目的操作数字段。低地址低地址高地址高地址立即数寻址立即数寻址2. 2. 寄存器寻址方式寄存器寻址方式 操作数存放在操作数存放在CPU的内部寄存器的内部寄存器reg中,中,可以是:可以是:8位寄存器位寄存器:AH、AL、BH、BL、CH、CL、DH、DL16位寄存器位寄存器:AX、BX、CX、DX、SI、D

11、I、BP、SP段寄存器段寄存器seg:CS、DS、SS、ES寄存器寻址指令寄存器寻址指令MOV AX , 1234H;AX1234HMOV BX , AX;BXAX注意:注意:SRC 和和 DST的字长一致的字长一致 MOV AH , BXCS不能用不能用MOV指令改变指令改变 MOV CS , AX寄存器寻址寄存器寻址关于存储器的寻址方式关于存储器的寻址方式 指令中给出操作数的主存地址信息(偏移指令中给出操作数的主存地址信息(偏移地址,称之为有效地址地址,称之为有效地址EA),),而段地址在而段地址在默认的或用段超越前缀指定的段寄存器中默认的或用段超越前缀指定的段寄存器中 8086设计了多种

12、存储器寻址方式设计了多种存储器寻址方式1、直接寻址方式、直接寻址方式2、寄存器间接寻址方式、寄存器间接寻址方式3、寄存器相对寻址方式、寄存器相对寻址方式4、基址变址寻址方式、基址变址寻址方式5、相对基址变址寻址方式、相对基址变址寻址方式3.直接寻址方式直接寻址方式 有效地址有效地址EA在指令中直接给出在指令中直接给出 默认的段地址在默认的段地址在DS段寄存器,可使用段超段寄存器,可使用段超越前缀改变越前缀改变有效地址有效地址EA:操作数的偏移地址操作数的偏移地址 物理地址物理地址PA = (DS) 16d + EAMOV AX , 2000H ;AXDS : 2000HMOV AX , ES

13、: 2000H ;AXES : 2000H直接寻址直接寻址4.寄存器间接寻址方式寄存器间接寻址方式 有效地址存放在基址寄存器有效地址存放在基址寄存器BX、BP或或变址寄存器变址寄存器SI、DI中中 段地址对应段地址对应BX/SI/DI寄存器默认是寄存器默认是DS,对对应应BP寄存器默认是寄存器默认是SS;可用段超越前缀改可用段超越前缀改变变 MOV AX , SI;AXDS:SI MOV AX, BP;AXSS:BP寄存器间接寻址寄存器间接寻址A指令指令存储器存储器操作数操作数操作数操作数A指令指令EAEA:5.寄存器相对寻址方式寄存器相对寻址方式 有效地址是寄存器内容与有符号有效地址是寄存器

14、内容与有符号8位或位或16位位移位位移量之和,寄存器可以是量之和,寄存器可以是BX、BP或或SI、DI有效地址有效地址EABX/BP/SI/DI8/16位位移量位位移量 段地址对应段地址对应BX/SI/DI寄存器默认是寄存器默认是DS,对应对应BP寄存器默认是寄存器默认是SS;可用段超越前缀改变可用段超越前缀改变MOV AX,DI+06H;AXDS:DI+06HMOV AX,BP+06H;AXSS:BP+06H寄存器相对寻址寄存器相对寻址6.基址变址寻址方式基址变址寻址方式 有效地址由基址寄存器(有效地址由基址寄存器(BX或或BP)的内容的内容加上变址寄存器(加上变址寄存器(SI或或DI)的内

15、容构成:的内容构成:有效地址有效地址EABX/BPSI/DI 段地址对应段地址对应BX寄存器默认是寄存器默认是DS,对应对应BP寄存器默认是寄存器默认是SS;可用段超越前缀改变可用段超越前缀改变MOV AX,BX+SI;AXDS:BX+SIMOV AX,BP+DI;AXSS:BP+DIMOV AX,DS:BP+DI ;AXDS:BP+DI基址变址寻址基址变址寻址7.相对基址变址寻址方式相对基址变址寻址方式 有效地址是基址寄存器(有效地址是基址寄存器(BX/BP)、)、变址寄存器变址寄存器(SI/DI)与一个与一个8位或位或16位位移量之和:位位移量之和:有效地址有效地址EABX/BPSI/DI

16、8/16位位移量位位移量 段地址对应段地址对应BX基址寄存器默认是基址寄存器默认是DS,对应对应BP基基址寄存器默认是址寄存器默认是SS;可用段超越前缀改变可用段超越前缀改变MOV AX,BX+SI+06H ;AXDS:BX+SI+06H相对基址变址寻址相对基址变址寻址段寄存器的默认和超越段寄存器的默认和超越访问存储器的方式访问存储器的方式默认默认可超越可超越偏移地址偏移地址取指令取指令CS无无IP堆栈操作堆栈操作SS无无SP一般数据访问一般数据访问DSCS ES SS有效地址有效地址EABP基址的寻址方式基址的寻址方式SSCS ES DS有效地址有效地址EA串操作的源操作数串操作的源操作数D

17、SCS ES SSSI串操作的目的操作数串操作的目的操作数ES无无DI用符号表示位移量用符号表示位移量 在寄存器相对寻址或相对基址变址寻址方在寄存器相对寻址或相对基址变址寻址方式中,位移量可用符号表示:式中,位移量可用符号表示:MOV AX,SI+COUNT;COUNT是事先定义的变量或常量(就是数值)MOV AX,BX+SI+WNUM;WNUM也是变量或常量多种表达形式多种表达形式 同一寻址方式可以写成不同的形式:同一寻址方式可以写成不同的形式:MOV AX , BXSI;等同于 MOV AX , BX+SIMOV AX , COUNTSI;等同于 MOV AX , SI+COUNTMOV

18、AX , WNUMBXSI;等同于 MOV AX , WNUMBX+SI;等同于 MOV AX , BX+SI+WNUM立即寻址、寄存器寻址立即寻址、寄存器寻址【例【例1】下列程序执行后,】下列程序执行后,(AX)=?(BX)=?MOV AX,1234HMOV BX,5678HADD AX,BX ; AX (AX)+(BX)执行:执行:1234HAX ; 5678HBX ; (AX)+(BX)AX执行后:执行后:(AX)=68ACH,(BX)=5678H直接寻址直接寻址【例【例3】 已知已知(DS)=2000H , (ES)=3000H , (32000H)字节字节=15H, (32001H)

19、字节字节=24H。执行指令执行指令 MOV AX , ES: 2000H 执行后(执行后(AX)?)?若执行若执行 MOV AL , ES :2000H 则则 (AL)=15HEA = 2000HPA = (ES)10H+EA= 32000H(AX) = 2415H直接寻址直接寻址【例【例3】已知已知:(AX)=1212H , (DS)=3000H, BUF为数据段定义的变量,其偏移地址是为数据段定义的变量,其偏移地址是2000H,(32000H)=45H ,(32001H)=67H.执行指令执行指令:MOV AX ,BUF执行后:(执行后:(AX)=?等价等价:MOV AX ,BUF MOV

20、 AX ,2000HEA = 2000HPA = (DS)10H+EA= 32000H(AX) = 6745H寄存器间接寻址寄存器间接寻址【例【例3】已知:】已知:(AX)=0,(BP)=30H,(DS)=4000H, (SS)=2000H,(20030H)=34H ,(20031H)=12H执行指令:执行指令:MOV AX ,Word ptr BP 执行后:执行后:(AX)=? (BP)=? (SS)=? (20030H)=?EA = BP = 0030HPA = (SS)10H+EA = (SS)16 + (BP) = 20030H(AX) = 1234H寄存器相对寻址寄存器相对寻址【例【

21、例4】已知:】已知: (AX)=0040H,(BX)=0030H, (DS)=2000H, (20036H)=6050H 执行指执行指令:令:MOV Word ptr 6 BX ,AX执行后:执行后: (BX)=? , (20036H)=?EA = (BX) + 6 = 0036HPA = (DS)10H+EA = (DS)16 + (BX) + 6 = 20036H(20036H) = (AX) = 0040H基址加变址寻址基址加变址寻址【例【例5】设执行前】设执行前 (DS)=2100H,(BX)=158H,(DI)=10A5H ,(221FDH)=1234H. 执行执行:MOV AX,BX+DI MOV AX,BXDI EA = (BX) + (DI) = 158H+10A5H = 11FDHPA = (DS) 10H +EA = (DS) 10H + (BX) + (DI) = 21000H + 11FDH = 221FDH执行后:执行后:(AX) =1234H

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

当前位置:首页 > 教育专区 > 教案示例

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

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