基于Windows的信息安全专业导论学习容器的构建 课程设计 第三周
一、实践目标
1. 安装Pep/9
2. 测试Pep/9环境
3. 安装并配置anaconda
二、实践内容
1. 安装Pep/9
- 上一周我们小组基本完成了课设任务,但是Pep/9在容器环境下无法安装,这周就Pep/9在主机上运行给出实例
- 进入Pep/9官网,选择Pep/9 Windows版下载,下载完成后按默认选项安装即可正常打开使用
- Pep/9是在Qt 5环境下用C++编译实现,是一款汇编程序模拟器
2. 测试Pep/9环境
打印:Hi
- 在Source Code区输入汇编指令,Build→Run Source(快捷键:Ctrl+R)
LDBA 0x0048,i ;Load 'H' into accmulate STBA 0xFC16,d ;Store accmulator to output device LDBA 0x0069,i ;Load 'i' into accmulate STBA 0xFC16,d ;Store accmulator to output device .END ;Stop
- 可以在Object Code区观察到汇编指令对应的机器指令,这里做下解析:
D0 00 48 //把 H 放入累加寄存器 F1 FC 16 //打印累加寄存器中存储的字节 DO 00 69 //把 i 放入累加寄存器 F1 FC 16 //打印累加寄存器中存储的字节 00 //停止 zz //结束标识符
- 可以在Assembler Listing区看到汇编指令对应的机器指令(Source中“;”后的内容会作为“comment”)
两个字符的倒序输出:
- 在Object Code区输入汇编指令,Build→Run Object
D1 FC 15 F1 00 13 D1 FC 15 F1 FC 16 D1 00 13 F1 FC 16 00 zz
D1 FC 15 //将输入设备中的第一个字符读入累加器 F1 00 13 //将字符从累加器存储到内存中 D1 FC 15 //将第二个字符从输入设备读入累加器 F1 FC 16 //将第二个字符打印到输出设备 D1 00 13 //从内存中加载第一个字符 F1 FC 16 //打印第一个字符到输出设备 00 //停止 zz //结束标识符
3. 安装并配置anaconda
- Anaconda可以从官网下载,选择Linux环境安装包下载(建议选择Python3.7版本,因为Python3正在逐渐替代Python2;这里我选用Python3版本,但其实,版本的选择在anaconda中并不是一个问题,因为通过环境管理,我们可以很方便地切换运行时的Python版本)
- 安装Anaconda: bash Anaconda3-2020.02-Linux-x86_64.sh
- 安装过程中会要求阅读相关协议,最后输入 yes 确认开始安装,安装会选择创建一个目录,选择完毕后回车进行安装
- 安装完成后关闭当前终端,再开终端可以构建新的Python环境: conda create --name python36 python3.6
- 这里给出查看和切换环境的相关指令,更多细节可以参考官方指导或者这篇帮助
conda -h //查看帮助 conda create --name python36 python=3.6 //基于python3.6版本创建一个名字为python36的环境 conda activate python36 //激活python3.6环境 source activate python36 //激活python36环境 conda list //查看环境下的包 deactivate python36 //退出当前python3.6环境 conda remove -n python36 --all //删除环境python36 conda env remove -n python36 //删除环境python36 conda info -e //查看所有安装的环境
- 在激活python36环境后,可以观察到命令行前多了 (python36),输入 python 可进入该环境下编写代码
- 但在anaconda的python环境缺少一些库,没有这些库,编译代码就会报错:SyntaxError:invalid syntax
- 这里我们先安装numpy、matplotlib这两个库: conda install numpy、conda install matplotlib
- 然后编译并执行代码(这段代码像是在写matlab)
from numpy import * from matplotlib.pyplot import * x = arange(0,361) y = sin(x*pi/180) plot(x,y) xlim(0,360) ylim(-1.2,1.2) title('SIN Function') show()