(这里插一嘴,我已经决定跳槽Ubuntu20.4.3版本了,因为Ubuntu12.04版本的许多问题在网上实在是太难找到解决方式了!!!!!)
ok这里是2023/3/24,忘了说了,由于大部分实验还是32位机器上的,为了避免出现问题,所以我还是决定一直使用Ubuntu12.04 32位机器
资料:
链接:https://pan.baidu.com/s/16Oc3hAC8lm7CUjsVnmDscA
提取码:8888
实验项目一
项目名称
实验1.1 原型机I
实验目的
(1) 了解冯诺伊曼体系结构;
(2) 理解指令集结构及其作用;
(3) 理解计算机的运行过程,就是指令的执行过程,并初步掌握调试方法。
实验资源
(1) 阅读教材,掌握冯诺伊曼体系的相关内容;
(2) 学习课程《最小系统与原型机I》。
(3) Ubuntu12.04 32位版本虚拟机
(4) Ubuntu20.4.3 64位版本虚拟机
2. 实验任务
2.1 实验任务A
任务名称:配置1.config,调试并运行其中的a.txt。
按照实验报告上所列出的步骤操作即可:
(1) 进入终端,切换文件夹至./Desktop/32bit
(2) 使用./vm32 1.config来运行原型机I的模拟器,
运行后界面如下图所示。
(3) 在运行后,提示将要执行的指令地址及内容,在本例中,提示要执行位于内存0011处的指令“1”,即等待输入一个整数值。此时输入si则表示执行此指令,同时也可以输入其他的指令,使用help可以查看此模拟器支持的命令:
(4) 此时输入i r,可以查看各个寄存器的值,而输入x 6 0000则表示查看从0000开始的连续6个内存地址值,结果如图所示。
(5) 输入si,则表示运行一条指令,例如此时运行的指令是“1”,表示等待输入,输入一个值3,在输入完成后将此数值存至R0寄存器,运行完成后,再运行i r指令,就可以看到输入的值5确实是已经存在R0寄存器中,每个寄存器的值都用十进制和十六进制表示,如下图所示。
(6) 继续使用si指令单步执行指令 5 R00000, 表示将R0寄存器中的值5传送到内存地址0000处,并且以二进制形式进行存储。
(7) 继续si执行下一条指令 4 1 R2,表示将立即数1传送到寄存器R2中,结果如下图所示,注意观察寄存器R2值的变化情况。

文章详细描述了在Ubuntu12.04和20.04版本虚拟机中进行的系列实验,涉及原型机I的配置和调试,包括了解冯诺伊曼体系结构,执行加法和减法指令的过程。实验任务包括配置文件的运行,通过模拟器操作指令,如内存读写、寄存器操作和条件跳转。实验展示了如何在没有乘法和除法指令的情况下,通过加法和减法模拟这些运算。
最低0.47元/天 解锁文章
499

被折叠的 条评论
为什么被折叠?



