实验五 设计一条同值补码数符号扩展指令.doc

实验五 设计一条同值补码数符号扩展指令.doc

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

计算机组成原理实验 实 验 报 告 实 验 人: 学 号: 日 期: 2010-6-10 院(系): 专业(班级): 软件工程(数字媒体) 实验题目: 设计一条同值补码数符号扩展指令  实验目的 进一步了解和掌握计算机各部分的组成及相互关系; 了解微指令的执行过程,掌握微程序的设计方法; 理解动态微程序设计的概念; 进一步认识和掌握计算机各指令的执行过程,搞清楚计算机的运行原理。 实验内容 设计一条指令,实现对存放在内存ADDR单元中低位字节的8位有符号补码数进行符号扩展(即将其变为16位的同值的补码数),结果保存在一通用寄存器中。 实验器材 TEC-2机一台 电脑一台 实验分析与设计 指令格式 指令格式:D4DRXADDR 指令功能 功能:先将内存ADDR单元中的数据暂存于目的操作数寄存器DR中,然后对其中低字节的8位有符号补码数通过移位操作进行符号位扩展,将其变为16位的同值补码数,结果保存在原寄存器中。 设计分析 根据指令的功能和指令格式,先读取地址单元ADDR的内容并将其暂存于目的操作数寄存器DR中,然后将操作数左移9次(设置循环次数为8),将标志C移到RAM0,此时将状态位C设为RAM15,再将操作数与标志位C循环右移9次,并保持C标志不变,最后将结果保存在原寄存器中。 微程序 100:PC→AR,PC+1→PC: 0000 0E00 A0B5 5402 101:MEM→AR: 0000 0E00 10F0 0002 102:MEM→DR: 0000 0E00 30F0 0008 103:左移一次并设置循环8次: 0001 C406 F0B0 0008 104:左移8次C值为RAM15的: 0000 0806 E0B0 0008 105:右移一次并设置循环8次: 0001 C400 D0B0 0108 106:右移8次C写入最高位: 0000 0800 D0B0 0108 107:CC#=0,3#: 0029 0300 9000 0000 加载到微控存程序段 说明:微码存放在900H(或某内存单元)开始的内存单元中 A800↙ 0800:MOV R1,900↙ ;微码??内存中的首地址 0802:MOV R2,8↙ ;微指令条数 0804:MOV R3,100↙ ;微码在微控存中的首地址 0806:LDMC↙ ;加载微码指令,将微码指令加载到控存 0807:RET↙ 0808:↙ G800 ↙ ;微码便装入起始地址为100H的微控存中 运行程序段 A820↙ 0820:MOV R0,0099↙ 0822:MOV [0830],R0↙ 0824:NOP↙ 0825:NOP↙ 0826:RET↙ 0827:↙ E824↙ 然后输入以下内容: D420 0830↙ 运行结果 G820↙ 在命令行提示符状态下输入: R↙ 屏幕显示结果: R0=0099 R1=0920 R2=FF99 R3=0108…… 实验心得 这一次微程序设计的实验,在寄存器的移位操作上花了较多的时间。一开始没有设置好循环次数,对下地址字段的内容也不是很理解,于是走了很多弯路。后来,与同学讨论,才发现了自己出现的问题。实验不难,但是仍有很多细节的地方需要注意,比如说循环、移位的时候,SB的值应设置为1:否则不能得到正确的结果。还有,当程序段运行完成时,总要加上条件转移指令,以确保所设计的程序可以顺利地返回来执行下一条指令,即CC#=0,3#。 有符号补码数**XX进行符号位扩展后:若为负数,则其补码数的形式为:FFXX;若为正数则00XX。如本次实验,若将操作数(R0初始化)改为0011,则其结果为:0011。

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档