<计算机系统概论>需要用到LC3工具包用于调试代码和练习对系统架构的理解,包括汇编到C的转换机制和代码的运行过程,课程非常经典,需要提前安装配置LC3工具包,ubuntu下摸索了一遍,记录下来.
课程的学生资源链接:
http://highered.mheducation.com/sites/0072467509/student_view0/index.html
工具,讲义,源码都有,很完备
需要安装的主要工具:
1)lc3模拟器,模拟汇编代码(可以由二进制或者16进制代码转换而来,也可以直接编译汇编代码)的运行
2)小巧的LCC编译器,可以直接编译c代码(C-汇编)
下面一步步来看.
首先安装lc3模拟器,从上面的主页链接下载lc3tool_v12.zip文件,解压到目录
编译前的环境准备,要安装flex
sudo apt-get install flex
然后开始编译前先运行./configure,这也是很多工具的步骤,生成makefile
第一次make报错,需要修改下makefile,可以在资源管理器里用gedit编辑器打开,或者直接在vscode里修改都可以.
# OS_SIM_LIBS = -lcurses
这一句把它注释掉(加#号)
然后编译
make
make install
这样生成了几个相关的工具
为了用好工具,最好阅读下使用说明,就是官网的pdf说明文档LC3unix.pdf
详细解说下
第一步是先编辑二进制文件转换成obj文件,并调入运行,以加法器为例,二进制代码如下:
0011000000000000
0101001001100000
0101100100100000
0001100100101010
1110010011111100
0110011010000000
0001010010100001
0001001001000011
0001100100111111
0000001111111011
1111000000100101
文档里是用的emacs编辑器&#