logo资料库

实验二 LC-3机器码编程实验.docx

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
深 圳 大 学 实 验 报 告 课程名称: 计算机系统(1) 实验项目名称: 实验二 LC-3 机器码编程实验 学院: 计算机与软件学院 专业: 计算机科学与技术 指导教师: 张志宏 姓 名: 学 号 : 实验时间: 实验报告提交时间: = 教务处制
一、实验目的与要求: 实验目的: 1. 2. 3. 分析和理解需解决的问题。 利用 LC-3 的机器代码设计实现相关程序。 通过 LC-3 仿真器调试和运行相关程序并得到正确的结果。 实验要求: 用 LC-3 机器语言(用“0”和“1”格式)写一个程序,计算一个 16 位字中“1”的个数并且在 内存中存储这个数。要求: (1) 把要计算包含“1”的这个字,放在内存地址为 x3100 的位置; (2) 把计算包含“1”个数的结果放在 x3101 的位置; (3) 程序的起始位置是内存 x3000。 (4) 写一个报告解释怎样解决这个问题,并且每一条指令后面写上注释。例如:如果内 存位置 x3100 处包含字“1101000100001011”,把你获得“1”的结果 “0000000000000111”(十进制是 7)放在内存位置 x3101 处。 提示 1: 当两个一样的数相加时,将会怎么样? 例如: 0000000000001011 + 0000000000001011 = 0000000000010110。 提示 2: 在一个字中,bit[15]和其它位的情况有什么不同? 在截止日期前提交实验报告。 二、实验环境: 地点:学院实验室机房 硬件环境:PC 机 机器编号: 软件环境: 操作系统: Windows 7 中文版 三、实验步骤与过程:(每个项目的设计思路简述、选择一项设计难点写出实验步骤。此 处用流程图表示程序设计思路) 2
如何判断 R4 里面有多少个 1? 我们可以先判断 R4 首位是不是为 1,也就是判断正负即可,然后每次左移一位 (利用 R4+=R4 也就是乘 2 的操作),移位 16 次,我们用 R2 记录出现的 1 的次 数,如果 R4 为负数,则 R2++。 然后 R3 用来记录剩余执行的次数,然后无论 R4 是不是为负数,只要每判断一次 后,R3 都自减,由于执行的次数固定为 16,所以结束这个程序的条件就是当 R3 为零的时候,就结束程序。 四、实验结果与数据分析:(每个实验效果的界面截图,对实验结果进行分析,说明实 验结果是否达到设计要求?)。 3
如图所示,这里是写好的代码: 然后我们把它放到 Simulator 里执行。 测试数据一: 4
我们将 x3100 的值设置为 7(0111) 运行后即可观察到 X3101 的值变成了 3,符合结果 测试数据 2:我们将值设置为 0 观察到 x3101 上的结果也是 0 5
测试数据 3: 我们将 x3100 的值设置为 9(即 1001) 观察到 x3101 的结果为 2 符合结果 五、实验体会:(在实验中遇到的问题及解决的办法、自己的收获等) 本次实验让我熟悉了如何用 01 代码实现简单的编程题目,让我熟悉了 LC-3 代 码的编写以及如何在程序上运行,并且在实验的过程中熟悉了如何调试。 这次的实验题是判断有多少个 1,和老师在实验课上讲的判断第一个 1 出现的位 置有相似的地方,并且在老师上课的提示下(自加即为左移),也成功的解决了 问题。 6
教师批阅意见: 成绩评定: 备注 指导教师签字: 2020 年 5 月 18 日 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后 10 日内。 7
分享到:
收藏