part0(实验准备阶段)
由于学校的虚仿平台登不上去,所以自己下了ubantu18.04.6,在电脑上打开终端下拉:
打开不行的话找一下老师
下面是环境配置时容易遇到的问题:
ps:整个配置路线按照老师给的文件一步一步执行即可,这里只给出一些难点的解决方案(老师给2.的文件名字:)
附件2-NEMU实验环境配置、PA0-实验前的准备
1.gitee怎么弄仓库,老师啥意思,什么远程仓库链接
建议直接fork老师的nemu仓库:
第一步:搜索gitee,并注册账号,记住用户名和密码!
第二步:点开老师给的链接:https://gitee.com/wjztju/NEMU2021.git
右上角有一个fork,点击并点确认,放到自己的仓库中
第三步:现在应该能看到nemu出现在自己的仓库了,在自己nemu仓库边上有一个克隆按钮,点
第四步:出现了一个框,找到类似这个的链接,这就是老师要你们交的链接,有了这个链接就可以看你们的动态,以此判断学生是否是自己做的。。。
2.怎么提交到自己的gitee上,为什么一直报错
如果你用vscode连接的,当我没说。。。
git add .
git commit -m “modified my STU_ID”
这是老师给的命令行,但是一直不行,就加上了git push,结果:fatal,还是不行
按照下面的提示:把第三个命令改为:git push --set-upstream origin master
还是报错,在csdn搜索了一下,说是没有ssh秘钥,于是又搜,最终在gitee官网上,找到设置,ssh公钥,有个“怎样生成公钥”的链接,按照这个链接的内容,添加公钥,居然找到了!!!
配置好秘钥后,再输入这三个命令,成功!
三个命令:
git add . (ps:别忘了这个点前面有个空格)
git commit -m “modified my STU_ID”
git push --set-upstream origin master
到这里,还有一个问题,我发现我提交到老师的gitee上了,所以怎么弄都不行,查了博客,这样就可以:
然后,以前改动的东西全提交到gitee仓库了,(^-^)V。
下面是make run的结果:正确!出现了(nemu)
part1任务1
直接说你要干啥吧:
输入
cd ~/NEMU2021/nemu/include/cpu
vim reg.h
不懂请搜索
点 i 进入编辑模式:然后改代码,照着改就行:(不用改的地方没有截屏)
改完点键盘esc,再点" :x ",就能退出了
此时完成了任务1,不要忘记git push,如果你忘记怎么弄的了,看part0的2.中三行命令(前面)
part1任务2
开始特别无从下手,然后看到了提示:
The assembly code of instructions executed is only output to the screen
when the number of instructions executed is less than this value.
This is useful when you use the `si' command.
You can modify this value as you want.
仅当执行的指令数量小于此值时,才会将执行的指令的汇编代码输出到屏幕上。
当您使用`si‘命令时,这很有用。 您可以根据需要修改此值。
根据实验手册和ppt课件的内容,我想是要自己根据给的三个函数写cmd_si函数和另外两个函数,对比后发现差三个东西:前面的定义,函数体,cmd_table
路径:nemu/src/monitor/debug/ui.c
打开后按照下面的改:
下面这些加在cmd_help函数后面:
不要忘记编辑完了保存退出和上交到gitee上。
至此任务2结束