计算机系统(1)实验一 LC-3机器码编程试验

计算机系统(1)实验一 LC-3机器码编程试验

实验目的:

  1. 掌握处理仿真工具LC-3软件的安装和使用方法。
  2. 学会在LC-3仿真环境下编辑程序和转换为可执行目标程序的方法。
  3. 学会在LC-3仿真环境下运行和调试程序的方法。

实验内容与实验要求:

  1. 安装LC-3仿真器
  2. 利用LC3EDIT输入机器代码程序(0/1模式)并创建可执行目标程序。
  3. 利用LC3EDIT输入机器代码程序(hex模式)并创建可执行目标程序。
  4. 利用LC3EDIT输入汇编代码程序并创建可执行目标程序。
  5. 利用LC-3 Simulator仿真器运用对应目标程序。
  6. 学习和掌握断点,单步执行等调试方法和手段。

实验步骤

  1. 安装LC-3仿真器
    在这里插入图片描述
  2. 利用LC3EDIT输入机器代码程序(0/1模式)并创建可执行目标程序。
    编译窗口中输入以下代码,并进行编译。可以得到相应的obj文件
    在这里插入图片描述
    在这里插入图片描述
  3. 利用LC3EDIT输入机器代码程序(hex模式)并创建可执行目标程序。
    编译窗口中输入以下代码,并进行编译。可以得到相应的obj文件
    在这里插入图片描述

在这里插入图片描述

  1. 利用LC3EDIT输入汇编代码程序并创建可执行目标程序。
    在这里插入图片描述
  2. 利用LC-3 Simulator仿真器运用对应目标程序。
    EX1.obj

在这里插入图片描述
EX2.obj
在这里插入图片描述
EX3.obj
在这里插入图片描述

  1. 学习和掌握断点,单步执行等调试方法和手段。
    (1)学习和掌握断点
    可以像下图一样设置断点,并观察相应各个参数的数值
    左侧蓝色箭头表示程序的执行位置,红色的圆点表示程序断点
    在这里插入图片描述
    当运行至断点处时,会以对话框的形式提示
    在这里插入图片描述
    (2)单步执行调试
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    也可使用“Step Out”按钮,使程序快速移动到断点处
    在这里插入图片描述
  2. example1(P15)
    在这里插入图片描述
    打开Simulator并进行运行
    在这里插入图片描述

点击赋值按钮对相应数据进行赋值
在这里插入图片描述
并进行运行
在这里插入图片描述
我们发现,R2的值并不是15,而是20.说明一定某处发生错误,下面,我们通过debug来找出这个错误并进行修正
在这里插入图片描述
通过这个按钮一步一步进行,我们发现,多执行了一次加R4单元中内容的操作,因此,这就是问题所在,回到源文件中进行修改。将下图中“011”改成“001”
在这里插入图片描述
再次运行程序
在这里插入图片描述
此时,我们得到了正确的答案。

  1. example2(P20)
    在LC3Edit中打入如下代码并保存成asm文件
    在这里插入图片描述
    在Simulator中进行运行后,并依此输入3,4发现并未得到想要的结果(3+4=7),则程序一定某处出现问题,因此进行debug
    在这里插入图片描述
    对程序的执行进行分析,我们不难发现程序在进行相加时并不是单纯的数值(int型)相加,而是对ASCII码进行相加,因此会发生问题,解决办法就是,与“0”的ASCII码进行相减,方能得到正确答案
    在这里插入图片描述
    在这里插入图片描述

实验结论:

通过本次实验对LC3的安装使用,编码,编译和debug的实验,我掌握了处理器仿真工具LC-3软件的安装和使用方法,学会了在LC-3仿真环境下编辑程序和转换成可执行目标程序的方法,学会了在LC-3仿真环境下运行和调试程序的方法。

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上山打老虎D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值