计算机原理_3 寻址方式和指令系统

第三章寻址方式和指令系统 第一节基本概念 第二节寻址方式 第三节指令系统 附录DEBUG软件的使用说明 第一节基本概念 指令控制与存储程序是计算机的基本特征 CPU根据指令的要求执行相应的操作,指令从存储器中获取。 程序:使计算机完成一个任务的一组命令或指令序列。 指令:使计算机执行某一特定操作的二进制编码。 (为了记忆和表示的方便,通常使用助记符来表示) 指令系统:CPU所能够执行的指令的全集。 机器语言:二进制指令编码 汇编语言:用指令助记符和伪指令组成 高级语言:接近于自然语言,使用方便 (汇编语言和高级语言都需要使用编译器,翻译成机器语言,才能够被计算机识别并执行) 寻址方式 操作码:规定所要执行的操作类型 指令 操作数:所要处理的数据或数据的位置信息 在操作数部分通常不是直接给出操作数的数据本身,而是给出该数据的位置信息,我们把如何获得数据的方式称为寻址方式。 例如:指令MOVAX,1234H 在这条指令里有两个操作数,按照指令中所处的位置,将前者称为目的操作数,后者称为源操作数。该指令的作用是把数据1234H传送到AX中。源操作数是“立即”寻址方式,目的操作数是“寄存器”寻址方式。 第二节寻址方式 8086微处理器指令系统中有133条指令,寻址方式灵活多样。通常可以分为两大类:数据的寻址和程序的寻址。 一、数据的寻址方式 (一)固定寻址 指令中已经默认对微处理器中的某寄存器进行操作,不用在指令中指明使用的寄存器。 例如:AAA指令,只有操作码,没有操作数,但是已经规定是进行BCD码加法运算以后对AL进行调整。 (二)立即寻址 操作数直接写在指令中,在指令译码执行时,可以立即得到, 同时把操作数也称为“立即数”。 (三)寄存器寻址 操作数放在微处理器内部的寄存器中,在指令中直接指出寄存器的名字。 立即寻址和寄存器寻址的例子在前面已经举过。 这三种寻址方式直接在处理器内部获得数据,操作速度快。 (四)存储器操作数的寻址方式 操作数存放在存储器中,指令执行时必须通过总线在存储器中存取操作数。EU根据指令中给出的寻址方式计算出16位的偏移量,称为有效地址(EA)送到BIU,经过地址加法器生成20位实际物理地址后对存储器进行操作。一般在表示EA时,用[操作数]表示。 计算EA要费时,进行总线操作较慢,所以存储器操作数寻址比前三种要慢。 1、直接寻址 MOVAX,[1234H] ;在源操作数中直接给出EA。 在上例中,默认使用的是数据段,如果要使用其它段,可以使用段超越前缀声明。例如:MOV AX,ES:[1234H] 在指令中,有四个段超越前缀:CS、DS、ES、SS 2、间接寻址 MOV AX,[BX];在源操作数中给出一个表示EA的寄存器名。 可以表示EA的寄存器有4个BX、SI、DI、BP。 BP默认使用堆栈段 BX SI默认使用数据段 DI 3、相对寻址 MOV AX,[BX+1000H];在源操作数中给出的是寄存器和立即 数,EA是它们的和。 有时也写成:MOV AX,BX[1000H] 或 MOV AX,1000H[BX] 在C语言中常使用的全局数组,一般写成x[0],x[1],x[2]等形式,实际上x在编译的时候就换成具体的在数据段中分配的位置,例如是1000H。 那么就是1000H[BX]这种形式。 4、基址变址寻址 MOVAX,[BX+SI];用基址寄存器和变址寄存器的和表示EA。 5、相对基址变址寻址 MOV AX,[BX+SI+1000H] 用基址寄存器、变址寄存器和立即数的和表示EA。 在对存储器中操作数寻址中,如果表示的EA中有BP,默认使用堆栈段;否则默认使用数据段。也可以使用段超越前缀来指明要使用的段。 (五)I/O端口操作数的寻址方式 操作数存放在I/O端口中,指令执行时必须通过累加器(AX或AL)存取操作数。在8086中端口地址是独立编址的,需要使用专门的指令来进行操作。共有2条:输入指令 IN 和 输出指令 OUT。 1、直接寻址 IN AL,60H;在端口寻址时,地址不需要加[ ]。 当端口地址可以用一个字节表示时,可以使用直接寻址。 2、间接寻址 MOVDX,1000H OUTDX,AL;实际上就是用DX来间接表示端口地址。 比较: MOV DX,AX;把寄存器AX中的数据传送到寄存器DX中。 OUT DX,AL ;把寄存器AL

计算机原理寻址方式ppt,计算机原理_3 寻址方式和指令系统.ppt相关推荐

  1. 计算机输入输出设备说课稿,信息技术七年级西交大版 第三节 计算机系统的组成与工作原理计算机系统及工作原理说课稿 (共15张PPT)...

    <信息技术七年级西交大版 第三节 计算机系统的组成与工作原理计算机系统及工作原理说课稿 (共15张PPT)>由会员分享,可在线阅读,更多相关<信息技术七年级西交大版 第三节 计算机系 ...

  2. 电子是计算机原理,电子数字计算机工作原理资料.ppt

    电子数字计算机工作原理资料 1.3 电子数字计算机工作原理 介绍Neumann原理以及Neumann计算机的关键部件及其工作原理. 1.3.1 Neumann原理 1.3.2 计算机存储器的特点原理 ...

  3. 计算机图形 简单测试法,数字测图原理及方法计算机图形学.ppt

    数字测图原理及方法计算机图形学 数字测图原理及方法 第九章 计算机地图绘图基础 9.1 概述 9.1 概述 9.1 概述 9.1 概述 9.1 概述 9.1 概述 9.1 概述 9.1 概述 9.1 ...

  4. 间接寻址级别不同_「计算机组成原理」:常见的指令寻址方式

    常见寻址方式操作数的寻址方式,就是CPU根据指令的操作数如何寻找真实的数据,或者真实的数据如何在指令 表示. 寻址方式是指寻找指令或者操作数的有效地址的方式.即确定本条指令的数据地址及下一条指令将要执 ...

  5. 计算机原理较好的教材,《高等学校计算机专业教材精选·计算机原理:计算机组成原理》低价购书_教材教辅考试_孔网...

    <高等学校计算机专业教材精选·计算机原理:计算机组成原理>的内容包括计算机中的数据表示.基本的运算方法与运算器的构成.中央处理器的指令系统.寻址方式及控制器.流水线等计算机基础知识.此外, ...

  6. 对口单招计算机组装维修理论,江苏省对口单招计算机组装与维修计算机原理考题分类汇总...

    江苏省对口单招计算机组装与维修计算机原理考题分类汇总 负葫鞘粱根征冉楼披拽轧峡贩冕赁符蜗振槽伎筑倍冈浴肿毕白炒鸣卫昼阎嘻东沮遵赊初终窜嘉舔柔毡厘精引径短路宽陕乾颐帽棍协疤秉乍剥溯贵厕惑托丑盒颐恍炎朔盟 ...

  7. 计算机 程序 原理,计算机储存程序和程序原理是谁提出来的

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 计算机储存程序和程序原理是由美籍匈牙利数学家冯・诺依曼于1946年提出的,意思是把程序本身当作数据来对待,程序和该程序处理的数据用 ...

  8. 计算机术语new一个,微机原理第一章计算机基础知识(new)

    <微机原理第一章计算机基础知识(new)>由会员分享,可在线阅读,更多相关<微机原理第一章计算机基础知识(new)(47页珍藏版)>请在人人文库网上搜索. 1.1.第一章计算机 ...

  9. 对口高考计算机原理,对口高考计算机原理5.doc

    对口高考计算机原理5 计算机网络是计算机技术与通信技术发展的必然产物,其形成与发展大致可分为以下四个阶段: 第一阶段:20世纪50年代,面向终端的计算机网络,该阶段的计算机网络是以单个计算机为中心的远 ...

最新文章

  1. Activity(活动)之Intent(意图)(显式与隐式)的使用
  2. Android listview与adapter用法
  3. 2017年10月18日普及组 面积最大
  4. 影评情感分类(基于IMDB数据集)
  5. 机器学习:多层感知机原理及实现
  6. java web核心编程_JavaWeb核心编程之(三)Servlet配置
  7. Tensorflow实现VGG网络
  8. php连接mysql配置环境变量_Win7 64位操作系统下配置PHP+MySql+Apache环境(转)
  9. java swing 界面字体大小_java swing 界面统一设置字体样式
  10. CTF必备取证神器(volatility、PTF、取证大师、Magnet AXIOM)
  11. 2512厚膜贴片电阻使用介绍
  12. php 生成条码插件,php 条形码生成插件Composer组件|php条形码code128实现方法-爱测速网...
  13. Python + Scrapy 小小爬虫有大大梦想
  14. 舵机常见问题原理分析及解决办法
  15. DB2活动日志占用过大
  16. rp导入图片大小_Axure制作图像的放大与缩小效果的四种方式
  17. 技术人最基本投资建议
  18. 28岁程序员从字节退休:IT是改命的唯一出路吗?
  19. Python模块之paramiko
  20. Enviro - Sky and Weather v2.3.1.rar

热门文章

  1. Autodesk招聘开发咨询顾问(北京或上海),需要内推的扔简历过来啊
  2. uboot启动 及命令分析(3)
  3. IIS6.0应用程序池回收和工作进程【转:http://www.cnblogs.com/freshman0216/archive/2008/06/02/1212460.html】...
  4. 百家号 不被推荐,原因:将旧闻冒充新闻发布,请修改后重新发布
  5. Springboot 多线程的使用
  6. Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlFmtTLV
  7. markdown 语法_markdown特殊语法之上下标
  8. php sql跳过前四条数据,mysql实现每组取前N条记录的sql,以及后续的组数据量限制...
  9. mysql+使用swap_MySQL避免使用SWAP
  10. mysql将查询数据另存