汇编原理第1章基础知识.ppt

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

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 2.输入/输出指令 各种信息 主机 外设 数据; 控制命令; 状态。 (1)外设的编址方式 I/O接口中寄存器或相当部件称为I/O端口。 如何为I/O端口分配地址? ● I/O端口独立编址 I/O地址空间不占主存地址空间,可与主存地址空间重叠。 =1 访问存储器 =0 访问I/O端口 需设置专门的控制线区分访问对象,如 为每个I/O端口分配端口地址; 在I/O指令中给出端口地址。 M/IO ● I/O端口与主存单元统一编址 I/O端口与主存单元使用一个地址空间,用不同的 地址码来区分它们。 如将存储地址空间的低端分配给主存单元,高端 分配给I/O端口。 ● 设置专用I/O指令 针对独立编址,用I/O指令访问I/O端口。 指令中说明输入/输出操作,并给出端口地址。 (2)I/O指令设置方式 显式I/O指令 例: 80X86的I/O指令 输入:IN AL,n; 端口地址 (n) AL (直接端口寻址) IN AL,DX; 间接端口地址 ((DX)) AL (间接端口寻址) 输出:OUT n,AL; (AL) n (直接端口寻址) OUT DX,AL; (AL) (DX) (间接端口寻址) ● 用传送指令实现I/O操作 针对统一编址,用传送指令访问I/O端口。 不设专用I/O指令。 例. 某机I/O接口中的寄存器地址为80H,用传送指令实现输入/输出: MOV 80H,A;将累加器A内容输出到80H端口 MOV A,80H;将80H端口内容输入到累加器A 隐式I/O指令 ● 通过I/O处理机进行I/O操作 CPU执行简单I/O指令 (启动、停止、查询、清除) 设置时需考虑操作数类型、符号、进制等; 运算结束后设置相应状态标志。 两级I/O指令 包括:加、减、求补、加1、减1、比较等运算 I/O处理机执行I/O操作指令 (输入、输出……) 3.算术运算类指令 4.逻辑运算类指令:与、或、非、异或等运算 可实现对操作数位的设置、测试、清除、修改等。 有的机器设置专门的位操作指令。 5.移位操作指令 算术移位、逻辑移位和循环移位如下图所示。 控制程序执行的顺序和选择执行的方向。 (1)转移指令 6. 程序控制类指令 (2)子程序调用指令与返回指令 子程序调用指令:将返回地址压入堆栈, 再转到子程序入口地址 无条件转移 条件转移 循环 返回指令:将堆栈中的返回地址弹出,以返回调用程序 (3)软中断指令 主要用于程序的调试和系统功能调用。 如80X86的中断指令 INT n 。 7. 串操作指令:串传送、串比较、串查找等操作 主要用于字符信息的处理 8. 数据转换指令:数值转换和数据类型转换 9. 堆栈操作指令 对堆栈的主要操作是压入堆栈和弹出堆栈。 10. 特权指令 提供给系统软件使用,一般不直接给普通用户使用。 主要用于系统资源的分配和管理。如检测用户的访问权限、修改虚拟存储器管理的段表等。 2.3.4 Pentium II指令格式 Pentium II指令格式中,操作码字段(OPCODE)是必须的,其他字段则是可选的。其指令格式如下: 1、指令前缀部分 指令前缀有4种: ? 第1种包括4条前缀指令:LOCK、REP、REPE、REPNE。 ? 第2种段指定,显式地指定该指令使用哪个寄存器。 ? 第3种操作数长度指定,用于寄存器数据宽度切换。 ? 第4种地址长度指定,用于存储器地址宽度切换。 2、指令部分 指令本身包括以下字段: (1)OPCODE:定义指令类型,寄存器数据宽度,及操作结果存入寄存器还是存储器。 (2)MOD/RM:分3个字段MOD、REG、RM。 REG(3位):定义一个寄存器寻址的操作数。 MOD(2位)与RM(3位):定义另一个操作数的寻址方式。包括8个寄存器寻址和24种存储器寻址。 (3)SIB 当MOD/RM=00/100时,使用SIB以说明比例变址寻址方式。 (4)DISP 如果MOD/RM定义的寻址方式需要位移量(即形式地址),由DISP字段给出,可以是8位、16位或32位。 (5)IMME 如果指令有立即数,由IMME给出,可以是8位、16位或32位。 可见,Pentium II的指令格式很复杂,这一是因为要与80X86兼容;二是它的地址和数据扩展到32位。 2.3.5 SPARC指令格式 SPARC(Scalable Processor Architectur

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档