第3讲 8086微机机器语言指令.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 8086微机机器语言指令 教学目标:掌握数据操作数的寻址方式;掌握数据传送指令、加减运算指令、位操作指令的功能与用法;了解其它指令的作用。 教学重点:常用指令的功能与用法。 教学难点:指令的应用。 3.1.1 指令格式 一条指令是一个有意义的二进制代码序列,它是机器语言的一个语句,其基本格式为:操作码字段OP 地址码字段A ——操作码表明了指令的功能及操作, ——地址码又称操作数字段,指明了参与操作运算的操作数地址。 1. 指令操作码 指令系统中每条指令都有唯一确定的操作码。操作码的位数越多,所能表达的操作种类就越多。 (1) 规整型 操作码字段的长度和位置固定,又称定长编码,编码最简单。 ◆定长编码多用在大中型计算机上,如IBM 370机指令操作码都为8bit(位)。 RISC指令集采用定长编码。 ◆定长编码有利于简化硬件设计、减少指令译码时间; 但往往造成资源浪费(冗余)。 (2) 非规整型 非规整型操作码的长度不定,且分散在指令字的不同位置上,因此又称变长编码。 变长编码广泛用在小型、微型计算机上,如PDP小型机。 CISC指令集是非规整型编码。 1. 指令操作码(续) 扩展操作码法:灵活充分利用指令的各个字段,在不增加指令长度的情况下,扩展操作码能表示更多的指令。80x86微处理器采用扩展操作码法。 变长编码增加指令译码的难度,控制器的设计较复杂。 2. 指令地址码 每条指令必须包括CPU执行所需的全部信息。 对双操作数指令,除了操作码OP(Operate)外,还必须包含:第一源操作数地址A1(Address1)、第二源操作数地址A2、操作结果的存放地址A3,以及下条指令在内存中的存放地址A4。 程序计数器PC(Program counter)来指向要执行指令的地址, 现代计算机地址码字段有四种结构:三地址、双地址、单地址和零地址。 三地址指令格式:OP A1 A2 A3 ;操作为:[A1] OP [A2] →A3, PC+1→PC(隐含) 三地址指令在小型、微型计算机中很少使用。 双地址指令格式:OP A1 A2 ;操作为:[A1] OP [A2] →A1,PC+1→PC(隐含) 执行前,A1和A2中各存放一个源操作数,执行后结果存放到A1中,A1中原先的源操作数被冲掉。因此[A2]称源操作数,[A1]称目标操作数(又称目的操作数)。 3.1.2 基本寻址方式 1. 寄存器寻址 操作数就存放在CPU通用寄存器中,存取操作数无需访问内存,指令执行速度快。 8086/8088CPU有8个通用寄存器,指令中只用3bit即可表示,如下表所示。 2. I/O端口寻址 (1) 直接寻址 指令中用8位无符号数直接表示I/O端口地址号。 如: IN AL,n ;输入:AL←[n],n在0~255之间,表示端口号 (2) 间接寻址 DX指向I/O端口,即用DX内容(16位无符号数)表示I/O端口地址编号,范围在0~65535之间。 如: OUT DX,AL ;输出:[DX]←AL 3. 存储器寻址 (1) 立即寻址 指令地址码字段就是操作数本身。立即数只能作为源操作数。 (2) 直接寻址 指令地址码字段直接给出操作数在段内的偏移量,段基址隐含给出或由段前缀指明。指令语句中,直接地址(一般为16位无符号数)用方括号括起来。 段隐含: EA=DS×16 +偏移地址 段显式: EA=段寄存器×16 +偏移地址 (3) 寄存器间接寻址 操作数在段内的地址在基址寄存器BX、BP或变址寄存器SI、DI中,根据寄存器的内容(段内的偏移地址值)到存储器中寻找操作数;段基址可用段前缀显式表示,更多的是隐含表示。 段隐含:EA=DS×16+(BX或SI或DI) EA=SS×16+BP 段显式:EA=段寄存器×16+(BX或BP或SI或DI) (4) 寄存器相对寻址 操作数在段内的偏移地址为基址/变址寄存器内容加上指令中给出的8位或16位偏移量。段基址表示同(3)。 段隐含:EA=DS×16+(BX或SI或DI)+(8位或16位偏移量) EA=SS×16+BP+(8位或16位偏移量) 段显式:EA=段寄存器×16+(BX或BP或SI或DI)+(8位或16位偏移量) (5) 基址变址寻址 操作数在段内的偏移地址是基址寄存器BX或BP与变址寄存器SI或DI的内容之和。段基址表示同上。 段隐含:EA=DS×16+BX

文档评论(0)

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

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

1亿VIP精品文档

相关文档