计系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. 利用仿真器运行对应目标程序。
  6. 学习和掌握断点,单步执行等调试方法和手段。

实验步骤与结果

1、安装LC-3仿真器

  如图 1所示,点击unzip安装。

图 1 LC-3仿真器安装

2、LC3 0/1模式编码程序

  在LC3EDIT中输入机器代码程序(0/1模式),以bin后缀保存,选择Convert from base2编译生成对应的可执行obj文件。

在这里插入图片描述

3、LC3 hex模式编码程序

  在LC3EDIT中输入机器代码程序(hex模式),以hex后缀保存,选择Convert from base16编译生成对应的可执行obj文件。

在这里插入图片描述

4、LC3 汇编代码程序

  在LC3EDIT中输入汇编代码程序,以asm后缀保存,选择Assemble编译生成对应的可执行obj文件。

在这里插入图片描述

5、LC3 Simulator基础操作

  在LC3 Simulator中载入EX3.obj文件。

在这里插入图片描述

  在程序末尾添加断点。

在这里插入图片描述

  跳过子函数、单步执行、跳出至断点。

在这里插入图片描述

6、Example01

  在LC3 EDIT中输入程序编码,生成对应的可执行文件。

在这里插入图片描述

  在LC3 Simulator中执行obj文件,观察汇编指令可知:该程序通过循环累加的方式实现乘法。

在这里插入图片描述

  其中R4寄存器内为被乘数,R5寄存器内为乘数,结果存储在R2寄存器。
设置初值:
在这里插入图片描述

运行结果:
在这里插入图片描述

  该程序实现了整数乘法。

7、Example02

  在LC3 EDIT中输入程序编码,生成对应的可执行文件。

图 9 例2汇编编码

  LC3 Simulator中执行obj文件,观察汇编指令可知:该程序从控制台读入两个数字,将数字相加后进行输出,因此这是整数加法程序。
![在这里插入图片描述](https://img-blog.csdnimg.cn/efacb868d6034653b223db57848f2022.png#pic_center =540x220

  运行发现结果有误,断点查看寄存器变化情况。

图 11 第一次运行结果

  当我们输入1后,R0寄存器的值为49;当我们输入2后,R0寄存器的值为50;相加的结果为99,放置在R2中。
在这里插入图片描述

  结合前面所学知识,很容易联想到ASCII码的数字编码,字符”1”对应的正好是数字49,字符”2”对应的正好是数字49,字符”c” 对应的正好是数字99。
  说明我们是以ASCII码的方式读入了字符,而不是数字,因此我们的程序需要做出修改:数字转为ASCII码只需要附加一个48,而最后的结果叠加了两个加数在ASCII编码时附加的48,因此最后结果减去一个48即可。

图 12 修改后的程序
在这里插入图片描述

  重新执行程序,可见运行结果被修正,说明我们的修改是有效的。

图 13 第二次运行结果

实验结论

  通过本次实验,我学会了处理器仿真工具LC-3软件的安装和使用方法。学习了LC-3仿真环境下如何用不同编码书写、编译、运行程序,也学习了断点调试、单步执行的方法和手段。同时,我还通过修改程序源码,修正了sum程序的运行结果。
  本次加深了我对仿真工具的理解和运用,也加深了我对计算机底层运行原理的认识。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值