第5章 指令及指令系统和汇编语言程序设计.ppt

第5章 指令及指令系统和汇编语言程序设计.ppt

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

第5章 指令概述、功能 对设计指令系统的要求 确定指令系统的两种思路 从降低硬件系统构成的复杂度、提高指令执行速度和并行性考虑,确定指令系统的两种思路: 指令格式 指令格式: 指令字:完整的一条指令的二进制表示 指令字长:指令字中二进制代码的位数 机器字长:计算机能直接处理的二进制数据的位数 指令字长(字节倍数)=0.5、1、2…个机器字长 定长指令字结构 vs. 变长指令字结构 操作码组织与编码 定长操作码 用固定若干位表示操作码,有利于简化计算机硬件设计,提高指令译码和识别速度。 例如:TEC-2000的16位机 操作数个数与来源 指令操作数个数 无操作数指令(零地址指令) 单操作数指令(一地址指令) 双操作数指令(二地址指令) 三操作数指令(二地址指令) 多操作数指令(多地址指令) 指令操作数来源和去向 CPU内部的通用寄存器:寄存器编号或名称 I/O设备(接口)的寄存器 :端口地址 主存储器的存储单元:内存地址 操作码的扩展技术 假设某机器的指令长度为16位,包括 4位基本操作码和三个 4位地址码段。 15… 12 11……8 7 ……4 3……0 操作码的扩展技术 若需要在16位字长的指令中能够同时支持三地址、二地址、一地址指令各15条,零地址指令16条,则可以选用如下方案的变长操作码实现: 操作码的扩展技术 实际上,只要各操作码的编码互不相同,就可区分不同的指令。当每次扩展的位数和保留的位数变化时,可扩指令条数就可变化。 例如在16位指令字中,也可以选用如下方案支持三地址指令、二地址指令、一地址指令和零地址指令14、30、31、16条: 堆栈寻址举例 教学机的基本指令(29条) 算术逻辑运算指令 ADD、SUB、AND、XOR、TEST、 CMP、 OR、DEC、 INC、SHL、SHR 数据移动指令 MVRR、MVRD、LDRR、STRR 堆栈操作指令 PUSH、POP、PSHF、POPF 输入输出指令 IN、OUT 转移指令 JMPA、JR、JRC、JRNC、JRZ、JRNZ 子程序调用与返回指令 CALA、RET 16位教学计算机基本指令系统 练习 1. P166 第19题 2. 假设采用2片AM2901构成一台8位教学计算机的运算器,也要实现29条基本指令功能,请为该教学计算机设计一套指令系统。 教学计算机汇编程序示例 例1 在屏幕上输出显示字符‘6’。 A 2000 ;从2000H(内存RAM区起始地址)开始汇编 2000: MVRD R0,0036 2002: OUT 80 2003: RET 2004: (按回车键即结束源程序的输入过程) 教学计算机汇编程序示例 例2 从键盘接受一个字符并将其显示到屏幕上。 AA: IN 81 SHR R0 SHR R0 JRNC AA IN 80 OUT 80 RET 教学计算机汇编程序示例 例3 在屏幕上依次输出字符‘0’到‘9’ 。 A 2020 MVRD R2,000A ;10个 MVRD R0,0030 ;字符‘0’ (2024) OUT 80 ;输出R0低字节 PUSH R0 ;保存R0 (2026) IN 81 ;读串行接口状态, SHR R0 ; JRNC 2026 ;若串行输出未完成,则再读串口状态 POP R0 ; 恢复R0 DEC R2 ;个数减1 JRZ 202E ;若全部输出,则转到结束处 INC R0 ;得到下一个要输出的字符 JR 2024 ;继续输出字符 (202E) RET 教学计算机汇编程序示例 例4 接收键盘上输入的数字字符并在屏幕上显示,非数字符结束。 A 2040

文档评论(0)

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

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

1亿VIP精品文档

相关文档