电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

微机课件第3章修改

229页
  • 卖家[上传人]:E****
  • 文档编号:90924717
  • 上传时间:2019-06-20
  • 文档格式:PPT
  • 文档大小:2.47MB
  • / 229 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第3章 指令系统和寻址方式,3.1 指令系统概述 3.2 8088/8086 CPU的寻址方式 3.3 8088/8086 CPU的指令系统 习题3,操作码:指示指令的操作类型; 操作数:指令所需操作数或操作数的地址,可位于寄存器、存储器或I/O端口;操作数可以没有,也可以只有一个,也可以有两个,一个源操作数,一个目的操作数。 例3-1: HLT ; 暂停指令,编码为F4H DEC BX; 编码为4BH MOV AX,CX ;将CX的内容送入AX中。,3.1 指令系统概述,1、指令格式 指令由两部分组成:操作码字段和地址码字段,格式如下:,3.2 8088/8086 CPU的寻址方式,8088/8086 CPU的寻址分为两类,即数据寻址和指令寻址。 数据寻址方式:CPU用来获取操作数的存放地址及操作结果的存放地址的方法。,3.2.1 立即寻址方式 立即寻址方式指寻找的操作数紧跟在指令操作码之后。汇编语言格式表示为: 操作码 数字表达式 【例3-2】 MOV AX,267 MOV AL,10010011B AND 0FEH MOV AL,PORT1 MOV AX,DATA1,例中,“26

      2、7”是数字;“10010011B AND 0FEH”是一个数字表达式;PORT1是一个用EQU定义的变量名,属于常数;DATA1是定义的段名,实际上就是段地址,是一常数。 对于数字表达式的编译:在汇编立即寻址方式时,汇编程序首先计算出数字表达式的值,然后将其写入指令的地址码字段,这称为立即数。,【例3-3】 MOV AL,0FFH 操作的示意图如图3.2所示。,图3.2 8位立即寻址操作示意图,【例3-4】 MOV AX,1234H 操作的示意图如图3.3所示。 注意:这种寻址方式不能用于单操作数指令。若用于双操作数指令,也只能用于源操作数字段,不能用于目的操作数字段。,图3.3 16位立即寻址操作示意图,3.2.2 寄存器寻址方式 寄存器寻址是指寻找的操作数在某个寄存器中。汇编语言格式表示为: 操作码 寄存器名 如:AL,BX,CX,DS等。 【例3-5】MOV AX,BX MOV AL,BL 例中,AX,BX是16位寄存器寻址方式;AL,BL是8位寄存器寻址方式。,3.2.3 存储器寻址方式 当操作数放在存储器中的某个单元时,CPU要访问存储器才能获得该操作数。如果存储器的存储单元

      3、地址是20位,把通过各种方法算出段内偏移地址(有效地址),结合段地址形成20位物理地址找到操作数的方法,统称为存储器寻址方式。 1. 直接寻址方式 直接寻址方式是指寻找的操作数的地址在指令中直接给出。格式表示为: 操作码 地址表达式 (或地址表达式) 操作码 数字表达式,【例3-6】 假设TABLE是在数据段定义的一个字节数组的首地址标号(变量名),其偏移地址为1000H,则指令 MOV AL,TABLE 或 MOV AL,TABLE+2 或 MOV AL,TABLE 或 MOV AL,TABLE+2 或 MOV AL,1000H 或 MOV AL,1000H+2 是等效的,都是直接寻址方式。,【例3-7】 MOV AX,1000H 如果(DS)=3000H,(31000H)=12H,(31001H)=34H,则指令执行完以后,(AX)=3412H。 注意:该寻址方式默认的段寄存器是DS。由于8086的存储器采用分段管理,因此寻找一个内存操作数,只能在某一段的64K范围内寻找。对于以上的寻址方式,系统都有一个基本的段约定。当操作数段地址不在约定的段寄存器时,可以使用段超越前缀取代其约定

      4、段。,段超越前缀形式为:“ 段寄存器名:” 段超越其汇编格式为 段寄存器名:地址表达式 或 段寄存器名:数字表达式 或 段寄存器名:地址表达式 或 段寄存器名:数字表达式 例如: MOV AX,ES:BP ;段地址在ES MOV AX,CS:BX SI ;段地址在CS,段地址的基本约定和允许超越的情况如表所示:,【例3-8】 假设TABLE是在附加数据段定义的一个字节数组的首地址标号,其偏移地址为1000H,则指令 MOV AL,ES:TABLE 或 MOV AL,ES:TABLE 或 MOV AL,ES:1000H 或 MOV AL,ES:1000H 是等效的,都表示将字节数组的第一个数组元素送入AL寄存器中。,2. 寄存器间接寻址方式 在计算机中通常将BX、BP称为基址寄存器,SI、DI称为变址寄存器,寻址时操作数的地址被放在这些寄存器中。 寄存器间接寻址方式在汇编格式中表示为: 基址寄存器名或变址寄存器名 【例3-9】 MOV AX,BX MOV AX,SI 例中,BX、SI都是寄存器间接寻址方式。寄存器间接寻址要用方括号括起来,以便与寄存器操作数相区别。,汇编寻址这种方式时,汇

      5、编程序将BX、SI、DI或BP寄存器的地址编号写入指令的地址码字段,当机器执行含有这种寻址方式的指令时,依据地址码字段的值访问得到寄存器的值,将该值作为操作数的偏移地址。 注意:如果指令中指定的寄存器是BX、SI、DI,则操作数默认在数据段中,取DS寄存器的值作为操作数的段地址值;如果指令中指定的寄存器是BP,则操作数默认在堆栈段中,取SS寄存器的值作为操作数的段地址值,从而算得操作数的20位物理地址,继而访问到操作数。,寻址方式的地址计算: 物理地址 = (DS)* 16 + (BX)或(SI)或(DI) 物理地址 =(SS)* 16 + (BP),例如:MOV AX,BX 若(DS)2000H,(BX)1000H,物理地址20000H1000H21000H。指令执行前,(AX)2030H,(21000H)A0H,(21001H)50H,指令执行后,(21000H)0A0H,(21001H)50H ,(AX)50A0H 。指令执行情况如下:,注意: Mov指令的源操作数的长度必须与目的操作数一致,否则会出错。例如,不能将AH寄存器的内容传送到CX中去,尽管CX寄存器放得下AH的内容,

      6、但汇编程序不知道将它放到CH还是CL中。 源操作数可为寄存器寻址;目的操作数也可为寄存器寻址;源操作数和目的操作数可同时为寄存器寻址。,3. 寄存器相对寻址 操作数的偏移地址是指定寄存器的值与一个整数之和。汇编格式为: 变量名基址寄存器名或变址寄存器名或变量名+基址寄存器名或变址寄存器名 符号名基址寄存器名或变址寄存器名或基址寄存器名或变址寄存器名+符号名 基址寄存器名或变址寄存器名数字表达式,+,1)物理地址 = (DS)* 16 +(BX)+DISP8 (SI)、(DI)、DISP16类同-偏移量。 2)物理地址= (SS) *16 + (BP)+DISP16 例: 如果 (DS)=3000H, (SI)= 2000H, COUNT=3000H, 则执行指令 MOV AX,CONUTSI,求出此种寻址方式对应的有效地址和物理地址。 有效地址= 2000H + 3000H = 5000H 物理地址=(DS)*16 + 5000H =30000H + 5000H =35000H,物理地址的计算:,例3-10:设执行前: (AX)=0040H,(BX)=0030H,(DS)=2000H,

      7、(20036H)=0050H 执行指令: ADD 6BX,AX 执行:(20036H)+(AX) 20036H 执行后:(AX)=0040H,(BX)=0030H,(DS)=2000H,(20036H)=0090H。,【例3-11】 TABLE是在数据段定义的一个字节数组的首地址标号(也称变量名),则有如下程序: MOV SI,5 MOV AL,TABLESI ;可以写为:MOV AL,TABLE+SI ABC EQU 5 LEA SI,TABLE ;LEA是取偏址指令,本句是把TABLE偏址SI MOV AL,ABCSI ;可以写为:MOV AL,ABC+SI 如:BX+6、BP-100H、SI+OFFSET TABLE都是寄存器相对寻址方式。,【例3-12】 TABLE是数据段中定义的一个变量,假设它在数据段中的偏移地址为0100H,有指令: MOV AX,TABLESI 若(DS)=2000H,(SI)=00A0H,(201A0H)=12H,(201A1H)=34H,则物理地址为:=20000H+0100H+00A0H=20000H+01A0H=201A0H。 也可用段超越前缀重

      8、新指定段寄存器,例如: MOV AL,ES:TABLESI 此寻址方式一般用于访问表格,表格首地址可设置为变量名,通过修改SI、DI、BX或BP的内容来访问表格的任一数据项的存储单元。,4、基址变址寻址方式: BX、BP叫基址寄存器,因此用它们进行寻址的又叫基址寻址。SI、DI叫变址寄存器,用它们进行寻址的又叫变址寻址。在处理数组时,SI用于源数组的变址寻址;DI则用于目的数组的变址寻址。 操作数所在存储单元的有效地址为基址寄存器(BX或BP)与变址寄存器(SI或DI)内容之和。 用这种寻址方式,存储器操作数的有效地址EA是由指令指定的一个基址寄存器和一变址寄存器的内容之和,结果按16位归算(只取结果的低16位有效)。,例: MOV AX,BX+DI 或 MOV AX,BXDI DS:(BX)+(DI) 字存储单元内容送AX。 MOV AX,CS:BX SI ;段地址在CS 例: MOV AX,BP+SI 或 MOV AX,BPSI SS:(BP)+(SI) 字存储单元内容送AX。 例: MOV AX,BXSI 或写为: MOV AX,BX+SI 设DS2000H,BX8000H,SI

      9、90FEH,则: BXSI8000H90FEH110FEH 取低16位有效得: EA10FEH PA2000H16EA210FEH 指令执行后,将把210FEH和210FFH相邻两个单元内容送到AX。而AL(210FEH),AH(210FFH)。,【例3-14】 MOV AX,BX SI(或写为MOV AX,BX+SI) 若 (DS)=2000H,(BX)=0500H,(SI)=0010H 则 偏移地址=0500H+0010H=0510H 20位物理地址=20000H+0510H =20510H 如(20510H)=12H,(20511H)=34H,操作的示意图如图3.5所示。,图3.5 基址变址寻址操作示意图,5、基址变址加位移量间接寻址 操作数所在单元的有效地址为基址寄存器(BX或BP)与变址寄存器(SI或DI)的内容之和再加上位移量(8位或16位)。 (BX) (SI) DISP8 (BP) (DI) DISP16 物理地址 = (DS)* 16 +(BX)产生的有效地址 物理地址 = (SS)* 16 +(BP)产生的有效地址,有效地址=,+,+,例:已知:(DS)=3000H,(BX)=2000H,(SI)=1000H,MK=0250H 指令: MOV AX,MKBXSI 或 MOV AX,MKBX+SI 或 MOV AX,MK+BX+SI 有效地址:MK+(BX)+(SI)=0250H+2000H+1000H3250H 物理地址:(DS)*16 +有效地址 =30000H+3250H=33250H 执行结果:将33250H单元内容送AL,33251H内容送AH。,【例3-15】 MOV AL,TABLEB

      《微机课件第3章修改》由会员E****分享,可在线阅读,更多相关《微机课件第3章修改》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.