第2章 微处理器及指令系统.ppt

  1. 1、本文档共158页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 微处理器和指令系统 2011.9.18 2.1.1 8086/8088 微处理器 2.1 8086/8088微处理器 1.内部结构 2.指令流水线 3.存储器分段 ? 存储器分段结构示例 ? 物理地址和逻辑地址 ? 逻辑地址与物理地址的变换 2.2.2 Pentium内部寄存器 1. 基本寄存器 ? 标志寄存器位定义 ? 段寄存器 1.无符号二进制数(序数) 2.带符号的二进制定点整数(整数) 2.3.2 操作数寻址方式 1.寻址方式和有效地址概念 有效地址EA 保护方式下的寻址过程(地址转换过程) --- 虚拟存储 2. 11种寻址方式 ⑴立即数寻址 (2)寄存器寻址(寄存器直接寻址) (3)直接寻址(存储器直接寻址) (4)寄存器间接寻址 (5)基址寻址 (6)变址寻址 (7)比例变址寻址 (8)基址加变址寻址 (9)基址加比例变址寻址 (10)带位移的基址加变址寻址 (11)带位移的基址加比例变址寻址 3.存储器寻址时的段约定 2.3.4.1数据传送类指令 1. 传送指令MOV 指令操作:(源操作数)→目的操作数 MOV指令使用说明: 源操作数和目的操作数的类型必须一致。 目的操作数不能为立即数。 CS和(E)IP均不能用作指令的目的寄存器。 段寄存器间不能直接传送,也不能直接将立即数送给段寄存器。 源操作数为立即数,而目的操作数类型不确定时,要给目的操作数加类型说明。 ⑴ MOV DS,100 2. 交换指令 操作: (目的操作数) ?(源操作数) 5. 堆栈指令PUSH/POP 格式:PUSH 源操作数 REG16/MEM16 REG32/MEM32 操作: ((E)SP)-2/4→(E)SP (源操作数)→(SS:(E)SP) 注:286以上可以有立即数方式。 (2) 弹栈指令 (3)堆栈指令使用说明: 堆栈指令的操作数只能为字或双字。 8086只有字操作指令 操作数是存储器寻址时,操作数长度不确定时, 要用PTR运算符。 PUSH和POP要成对出现,以保持堆栈平衡 堆栈指令也隐含了一个目的/源操作数—堆栈。 压栈顺序是先压高字节后压低字节,弹栈则是先弹低字节后弹高字节。 6. 查表指令 说明: XLAT是一条隐含寻址的指令。隐含两个操作数:DS:(E)BX存放表基址,AL存放查表参数。使用前要给隐含操作数赋初值。 例2.5 内存中自TABLE开始的16个单元连续存放着自然数0到15的平方值(构成一个平方表),任给一整数M在XX单元中(该数为0≤M≤15),查表求M的平方值,并将结果存入YY单元中。 7. I/O指令 (2) 输出指令 格式:OUT 端口, 累加器 IMM8, AL/AX/EAX DX , AL/AX/EAX 操作:(AL/AX/EAX)→I/O端口 8. 传送指令应用举例 例 设程序在数据段中定义的数组如下: NAMES DB TOM.. DB 20 DB ROSE DB 30 DB KATE. DB 25 请指出下列指令是否正确,如正确,A累加器中的结果是多少? 2.3.4.2 算术运算类指令 1. 加法/减法指令 例 加法/减法指令使用说明: ADD/SUB指令用于单个字节/字/双字数的加/减法运算; ADC/SBB指令则常用于多精度或多字节/多字/多双字数的加/减法运算。 INC/DEC REG/MEM ADD/SUB REG/MEM,1 两者都执行加1/减1操作,但前者不影响进位,而后者影响。 2. 整数变反指令(求补) 格式: NEG 目的操作数 REG/MEM 操作: 0-(目的操作数) →目的操作数 标志: OF ,SF,ZF,ZF,PF,CF 应用: 常用于求负数的绝对值。 3. 比较指令 格式: CMP 目的操作数,源操作数 REG, REG/MEM/IMM MEM, REG/IMM 单操作数乘法指令 格式:MUL/IMUL 源操作数 REG/MEM 乘法指令使用说明: 单操作数乘法指令的被乘数是隐含的(在AL / A

文档评论(0)

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

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

1亿VIP精品文档

相关文档