[工学]微机05.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]微机05

第四讲 指令系统 必须从代码段取指令 在串操作中的目的串必须存储在由ES寄存器指向的数据段 推入和弹出操作必须总是引用SS段 * 微型计算机系统原理及应用 主讲人: 沈虹 燕山大学电气工程学院 Institute of Electrical Engineering 3.1 8086的指令格式 指令系统与指令格式 计算机可以执行的各种操作命令称为指令。通常一条指令对应一种基本操作,例如加、减、传送、移位等。计算机所能执行的全部命令的集合即为该计算机的指令系统。 计算机指令是完成特定操作的命令,CPU能直接识别和执行的指令是用二进制代码表示的,这种代码称为机器代码。 计算机中的指令由操作码字段和操作数字段两部分组成。 (1)操作码字段 说明计算机要执行的具体操作,如传送、运算、移位、跳转等操作,是指令中必不可少的组成部分。 汇编指令: 操作码 操作数 (2)操作数字段 说明在指令执行的过程中需要的操作数,它可以是操作数本身,也可以是操作数地址或是地址的一部分,还可以是指向操作数的地址指针或其它有关操作数据的信息。单地址指令的操作只需一个操作数,如加1指令: INC AX。大多数运算型指令都需要两个操作数,如加法指令:ADD AX,BX ;运算的结果送到AX中,AX称为目的操作数,BX称为源操作数。 8086系列指令包括无操作数指令、单操作数指令和双操作数指令。 如 HLT ;无操作数指令 INC CX ;单操作数指令 ADD AX , BX ;双操作数指令。第一操作数为目的操作数,第二操作数为源操作数。 寻址及寻址方式的概念 计算机中的指令有些不需要操作数,大多数指令采用一个或两个操作数。一般来说,操作数可以跟随在指令操作码之后,称为立即数;操作数也可以存放在CPU内部的寄存器中,称为寄存器操作数;绝大多数的操作数存放在内存储器中,称为存储器操作数。 3.2 8086指令的操作数寻址方式 寻址及寻址方式的概念 指令指定操作数的位置,即给出地址信息,在执行时需要根据这个地址信息找到需要的操作数。这种寻找操作数的过程称为寻址,而寻找操作数的方法称为寻址方式。 操作数的存放 指令中进行操作的数据存放位置三种情况: 1) 立即数 操作数包含在指令中,即操作数直接表示在指令的操作数字段中。 例:MOV AL , 08H 这种操作数称为立即数。 2)寄存器操作数 操作数存放在CPU的一个寄存器中。 例:INC CX 3)存储器操作数 操作数在内存中或在I/O端口中,操作数的偏移地址以某种方式表示在指令中。 如: MOV AX,[2500H] MOV AX, [BX] 操作数字段指示此操作数的偏移地址,而段地址由某个段寄存器提供。此例中默认为数据段DS。 1)立即寻址 操作数为立即数,直接存放在指令的操作数字段中。 只能作为源操作数。 寻址方式 Institute of Electrical Engineering 例:MOV AL, 05H 指令执行后: (AL)=05H 例: MOV AX, 3064H 指令执行后: (AX)=3064H 操作数在指令所指示的寄存器中。 表示格式:直接在指令中写出寻址寄存器名称。 对于16位操作数,寄存器可以是AX、BX、CX、DX、SI、DI、SP和BP等;对于8位操作数,寄存器可以是AH、AL、BH、BL、CH、CL、DH和DL等。 如 MOV AX,BX 若指令执行前,AX=30AAH, BX=7255H 则指令执行后,AX=7255H, BX=7255H 寄存器寻址 Institute of Electrical Engineering 操作数存放在内存中,操作数的偏移地址直接表示在指令中。 默认操作数存放在内存的数据段中。 表示格式:[偏移地址] 直接寻址 Institute of Electrical Engineering 例:MOV AX,[3100H] 若 (DS)=6000H (63100H)=3050H 则 (AX)=3050H ... 操作码 00 31 ... 50H 30H ... 6 0 0 0 0 3 1 0 0 + 6 3 1 0 0 63100H 30H 50H AH AL 代 码 段 数 据 段 操作数也允许存放在其它段中(SS,ES),此时应在指令中指明段超越。 段超越

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档