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

微型计算机原理及接口技术 教学课件 ppt 作者 林志贵 第3章 8086-8088指令系统

88页
  • 卖家[上传人]:E****
  • 文档编号:89497378
  • 上传时间:2019-05-25
  • 文档格式:PPT
  • 文档大小:1.74MB
  • / 88 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第 3 章 8086/8088指令系统,本章主要内容,3.1 汇编语言指令格式与寻址方式 3.2 指令系统,3.1.1 汇编语言指令格式,1. 8086/8088汇编语言指令语句格式,3.1 汇编语言指令格式与寻址方式,标识符,8086/8088汇编语言中标识符必须遵循的规则: (1)标识符由字母(az、AZ)、数字(09)或某些特殊字符(,-,?)组成; (2)第一个字符必须是字母(az、AZ)或某些特殊的符号(,-,?),但“?”不能单独作标识符; (3)标识符有效长度为31个字符,若超过31个字符,则只保留前面的31个字符为有效标识符,标号是给该指令所在地址取的名字,必须后跟冒号“:”,它可以缺省,是可供选择的标识符,3.1.1 汇编语言指令格式,寻址方式是指CPU寻找操作数或操作数地址的方法,对象:目的操作数、源操作数,3.1 汇编语言指令格式与寻址方式,3.1.2 寻址方式,1. 立即数寻址,指令中所用的8位或16位操作数就在指令中提供,如: MOV AL, 05H MOV AX, 3100H,3.1.2 寻址方式,注意: 立即数只能作为源操作数 立即数可以为8位,也可以为1

      2、6为;规定立即数只能是整数,不能是小数、变量或者其他类型的数据,3.1.2 寻址方式,如果操作数就在CPU的内部寄存器中,那么寄存器名可在指令中指出,2. 寄存器寻址,如: MOV SS, AX ROL AH,1,16位操作数: 寄存器可以是AX、BX、CX、DX、SI、DI、SP、BP,8位操作数: 寄存器可以是AH、AL、BH、BL、CH、CL、DH、DL,3.1.2 寻址方式,3. 直接寻址,数据总是在存储器中,存储单元的有效地址由指令直接指出,如: MOV AX,1064H,3.1.2 寻址方式,3.1.2 寻址方式,注意: 采用直接寻址方式时,如果指令前面没有用前缀指明操作数在哪一段,则默认为段寄存器是数据段寄存器DS, 如果要对其它段寄存器所指出的存储区进行直接寻址,则本条指令前必须用前缀指出段寄存器名,如: CS: MOV BX, 3200H,操作数一定在存储器中,存储单元的有效地址由寄存器指出,这些寄存器只能是BX、BP、SI和DI之一,即有效地址等于其中某一个寄存器的值:,4. 寄存器间接寻址,注:如果指令前面没有用前缀指明具体的段寄存器,则寻址时默认的段寄存器通常为

      3、DS。如果寄存器为BP时,则默认的段寄存器为SS,3.1.2 寻址方式,3.1.2 寻址方式,如: MOV BX, SI MOV BP, AL,若:(DS)=3000H,(SS)2000H,(SI)=2000H,(BP)=1000H,(AL)=64H,变址寻址指令将变址寄存器的内容加上指令中给出的位移量,即可得到操作数的有效地址。位移量可以为8位,也可以为16位,如:MOV SI+10H, AX,3.1.2 寻址方式,5. 变址寻址,若(DS)=3000H,(SI)=2000H,(AX)=4050H,3.1.2 寻址方式,基址寻址指令将基址寄存器的内容加上指令中给出的位移量,即可得到操作数的有效地址。位移量可以为8位,也可以为16位,如:MOV CX, COUNTBX MOV BLOCKBP, AX,3.1.2 寻址方式,6. 基址寻址,若(DS)=3000H,(BX)=1000H,COUNT=1050H,3.1.2 寻址方式,操作数的有效地址是1个基址寄存器(BX或BP)的内容加上一个变址寄存器(SI或DI)的内容。即,将BX、BP和SI、DI寄存器组合起来进行间接寻址,如: MOV

      4、 AH, COUNTBXDI,3.1.2 寻址方式,7. 基址-变址寻址,若 (DS)=4000H,(BX)=1000H,(DI)=1500H,COUNT=1234H,3.1.2 寻址方式,注:只要用上BP寄存器,那么默认的段寄存器就是SS;在其它情况下,默认的段寄存器均为DS。如果操作数不在默认段,则要用前缀指出相应的段寄存器名, 允许带一个8位或16位的位移量相对的基址加变址寻址,如: MOV AX,BX+SI+0050H, 用于堆栈中数组,3.1.2 寻址方式,3.2.1 数据传送指令,3.2 指令系统,1. 通用传送指令,特点: 既可传送字节操作数(8位),也可以传送字操作数(16位)。 可用本章3.1节讨论过的各种寻址方式。 可实现以下各种传送: 寄存器与寄存器/存储器之间; 立即数至寄存器/存储器; 寄存器/存储器与段寄存器之间。,(1)最基本的传送指令 MOV MOV dest, src ;(dest)(src),3.2.1 数据传送指令,如: MOV SI, BX MOV DS, AX MOV AX, CS MOV AL, 5 MOV MEM, 5 MOV BX, 5,

      5、3.2.1 数据传送指令,MOV MEM, AX MOV MEM, DS MOV DISPBX, CX MOV AX, DISPSI MOV DS, MEM MOV AX, DISPBXSI,3.2.1 数据传送指令,注意: 不能用一条MOV指令实现以下传送: 存储单元之间的传送; 立即数至段寄存器的传送; 段寄存器之间的传送。,例3-1 将传送200个字节到内存中的另一个数据区。 MOV SI, OFFSET BUFFER1 MOV DI, OFFSET BUFFER2 MOV CX, 200 NEXT: MOV AL, SI MOV DI, AL INC SI INC DI DEC CX JNZ NEXT ,3.2.1 数据传送指令,PUSH和POP指令的操作数可能有三种情况: 寄存器(包括通用寄存器以及地址指针和变址寄存器)。 段寄存器(CS例外,PUSH CS指令是合法的,而POP CS指令是非法的)。 存储器。 但无论哪一种操作数,其类型必须是字操作数(16位)。,(2)堆栈操作指令PUSH、POP,3.2.1 数据传送指令,指令格式: PUSH src ;(SP)(SP)2

      6、 ;(SP)+1: (SP)(src) POP dest ; (dest)(SP) +1: (SP) (SP)(SP)+2,在执行PUSH指令时,首先,堆栈指示器SP自动减2;然后,将一个字以源操作数传送至栈顶 POP指令的执行过程正好与PUSH指令相反,它把由SP指出的当前堆栈段的栈顶的一个操作数(一个字),传送到目的操作数中,然后,SP自动加2,指向新的栈顶 POP指令中的目的操作数可以是除代码段寄存器CS之外的其它寄存器和存储器,在程序中采用堆栈操作指令时,应预置堆栈段寄存器SS、堆栈指示器SP的值,同时,使SP的内容为当前堆栈段的栈顶,3.2.1 数据传送指令,例3-2:将16位通用寄存器CX的内容压入堆栈,然后,弹出栈顶至CX中,已知:(SS)0200H,(SP)0008H,(CX)12FAH,3.2.1 数据传送指令,交换指令XCHG可以实现字节交换,也可以实现字交换。交换过程可以在CPU的内部寄存器之间进行,也可以在内部寄存器和存储单元之间进行,但不能在两个存储单元之间执行数据交换,(3)交换指令XCHG,如: XCHG AL,BL ;AL和BL之间进行字节交换 XCHG

      7、 BX,CX ;BX和CX之间进行字交换 XCHG 2530H,CX ;CX中的内容和2530H、 2531H两单元的内容交换,3.2.1 数据传送指令,要求BX寄存器指向表的首地址,AL中为表中某一项与表格首地址之间的偏移量,指令执行时,会将BX和AL中的值相加,把得到的值作为地址,然后将此地址所对应的单元中的值取到AL中去,(4)换码指令(也称查表指令)XLAT,注:XLAT指令就是通过查表方式来完成换码功能的 在执行该指令之前,必须建立好一张表,该表的最大容量为256字节,3.2.1 数据传送指令,注: XLAT指令就是通过查表方式来完成换码功能的 在执行该指令之前,必须建立好一张表,该表的最大容量为256字节 用于LED显示,如:假设数据表存放在偏移地址为2000H开始的内存中,取出数据序号“3”所对应的表中某存储单元中的数送到AL中去,用如下几条指令即可完成: MOV BX,2000H ;BX隐含做表首地址 MOV AL,3 ;结果送AL XLAT,3.2.1 数据传送指令,2. 输入/输出数据传送指令IN、OUT,如: IN AL,50H IN AX,70H MOV DX,

      8、2500 H IN AL,DX IN AX,DX OUT 44H,AL OUT 80H,AX MOV DX,3000 H OUT DX,AL OUT DX,,AX,功能:用来完成累加器(AX/AL)与I/O端口之间的数据传送,注:端口地址大于255,必须用DX寄存器做间接寻址 16位端口地址设置在偶数地址号上,3.2.1 数据传送指令,指令格式: IN acc, port OUT port, acc,3. 目标地址传送指令,功能:将存储器某单元的偏移地址送到一个寄存器,(1)取有效地址指令LEA,功能:用于传送地址码的指令,可用来传送操作数,要求:源操作数必须为内存单元地址,目的操作数必须为一个16位的通用寄存器,如:LEA AX, 2728H LEA BX, BP+SI LEA SP, 0482H,用途:常用来使一个寄存器作为地址指针,3.2.1 数据传送指令,指令格式:LEA reg16, mem16,类似于LDS,(2)将地址指针装到DS和另一个寄存器的指令LDS,功能:将某操作数的四个连续字节中的地址指针(其中包括一个段地址和一个偏移量)传送到两个目的寄存器,其中,地址指针的后

      9、两个字节(段地址)一定送到DS中,如:LDS DI, 2130H,(3)将地址指针装到ES和另一个寄存器的指令LES,3.2.1 数据传送指令,指令格式:LDS reg16, mem32,4. 标志位传送指令,(1)读取标志指令LAHF,功能:将标志寄存器中的低8位传送到AH中,(2)设置标志指令SAHF,功能:将AH寄存器的相应位传送到标志寄存器的低8位,3.2.1 数据传送指令,功能: PUSHF指令:将FR的值压入堆栈顶部,同时,栈指针SP的值减2,此指令在执行时FR的值不变,(3)对标志寄存器的压入堆栈指令和弹出堆栈指令PUSHF、POPF,POPF指令:从堆栈中弹出一个字送到FR中,同时堆栈指针SP的值加2,用途:用在子程序和中断处理程序的首尾,起保存主程序标志和恢复主程序标志的作用,3.2.1 数据传送指令,3.2.2 算术运算指令,3.2 指令系统,1. 加法指令,如: ADD AL,50H ADD CX,1000H ADD DI,SI ADD BX+DI,AX ADD AX,BX+2000H,(1)不带进位位的加法指令ADD,功能:用来执行两个字或两个字节的相加操作,结果放在原来存放目的操作数的地方,不考虑低位的进位,影响标志位:CF、PF、AF、ZF、SF、OF,3.2.2 算术运算指令,指令格式:ADD dest, src,如: ADC AX,SI ADC DX,SI ADC BX,3000H ADC AL,5,(2)带进位位的加法指令ADC,功能:用来执行两个字或两个字节与进位标志位CF的值相加操作,结果放在原来存放目的操作数的地方,影响标志位:CF、PF、AF、ZF、SF、OF,用途:用在多字节加法运算中,3.2.2

      《微型计算机原理及接口技术 教学课件 ppt 作者 林志贵 第3章 8086-8088指令系统》由会员E****分享,可在线阅读,更多相关《微型计算机原理及接口技术 教学课件 ppt 作者 林志贵 第3章 8086-8088指令系统》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党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.