深圳大学-计算机系统(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仿真器
打开实验材料,选择安装路径,安装LC-3仿真器,安装过程已在实验室完成,下图为安装成功后的样子:
在这里插入图片描述
(2)利用LC3EDIT输入机器代码程序(0/1模式)并创建可执行目标程序。
a. 在lc3edit的代码区输入以下代码, 保存为“EX1.bin”
在这里插入图片描述
b. 点击如下图所示的红框处编译为二进制文件
在这里插入图片描述
c. 用Simulator打开EX1.obj,如下图所示
在这里插入图片描述
d. 单击如下图所示的按钮运行程序,观察寄存器值的变化
在这里插入图片描述
(3)利用LC3EDIT输入机器代码程序(hex模式)并创建可执行目标程序
a. 在lc3edit的代码区输入以下代码, 保存为“EX2.hex”
在这里插入图片描述
b. 点击如下图所示的红框处编译为二进制文件
在这里插入图片描述
c. 用Simulator打开EX2.obj,如下图所示
在这里插入图片描述
d. 单击如下图所示的按钮单步执行程序,观察寄存器值的变化.
在这里插入图片描述
e. 循环结束后的结果如下图所示
在这里插入图片描述
(4)利用LC3EDIT输入汇编代码程序并创建可执行目标程序。
a. 在lc3edit的代码区输入以下代码, 保存为“EX3.asm”
在这里插入图片描述
b. 点击如下图所示的红框处编译为二进制文件
在这里插入图片描述
c. 用Simulator打开EX3.obj,如下图所示
在这里插入图片描述
d. 打断点,并进行单步调试
在这里插入图片描述
e. 结果如下:
在这里插入图片描述
(5)完成第四章example1
a. 在LC3Edit 中输入程序,并生成obj文件
在这里插入图片描述
b. 在simulate中打开example1.obj文件
在这里插入图片描述
c. 读懂程序
R4与R5中的内容将会相乘,通过将R4中的值加上自身的a倍,这个a 由R5中的值决定,举例来讲,如果R4中值为7 ,R5中值为6,第一次 0+7 第二次 7+7 第三次 14+7 。。。第六次 35+7,在程序结束时 最后的值放置于R2中
d. 设置断点
在这里插入图片描述
e. 初始化值
在这里插入图片描述
在这里插入图片描述
f. 运行程序,发现问题
在这里插入图片描述
结果应为15,但却为20
g. 调试程序
发现R5等于0时,仍发生了跳转
在这里插入图片描述
h. 修正程序并运行
在这里插入图片描述在这里插入图片描述

(6)完成第四章example2
a. 输入程序,并生成obj文件
在这里插入图片描述

b. 在simulate中运行错误的程序
在这里插入图片描述

c. 发现问题并改正
当我在console窗口输入“4”时,R0中给出的值是x34,当我输入的是“3”时,显示的是x33。把这些值相加,结果是x67。查看ASCII表,x67代表的是“g”,这便是错误所在,如图所示:
在这里插入图片描述

d. 修正程序
在这里插入图片描述

e. 运行正确程序,运行结果如下:

在这里插入图片描述

实验结论或体会

(1)LC3Edit 可用二进制、十六进制、汇编语言编写机器语言并生成相应的可执行程序。
(2)Simulator可执行"*.obj"文件,并在其中观察寄存器、机器状态、内存的变化。
(3)十六进制和汇编语言是机器语言的不同表示形式,它们可以被转换为等效的二进制机器语言。
(4)在程序编写完成后,使用高级语言、汇编语言或十六进制语言编写的程序需要经过编译器的处理,将其转化为可执行的机器语言,然后才能在计算机上运行。

  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值