2020-2021 1学期 《网络空间安全导论》 第四周学习总结
第六章主要讲低级程序设计语言与伪代码。第七章讲问题求解与算法设计
机器语言
1.机器语言是计算机直接使用的二进制代码指令构成的语言。
人无法看懂只有机器才能读懂。
2.机器语言内嵌在机器里,不同计算机只能看懂自己的语言。
Pep/9 虚拟机
虚拟机的内存单元由65536字节的存储空间组成,字长2字节。在这里,我们主要学习其三个重要的寄存器。
指令寄存器 程序计时器 累加器
指令格式
一条指令由两部分组成,指令说明符占一字节,操作数说明符占两字节。其中,指令说明符前四个位是操作代码,第五位代表不同寄存器,最后三位代表不同寻址方式(这里只学习直接 001和立即000)。操作数说明符存放的是操作数本身或者操作数的地址。没有操作数说明符的指令代码只有一个字节,所以也叫一元指令。
要说明的是,不能再存储操作码中使用立即寻址,因为我们不能将寄存器的数据存储到操作数说明符上。
pep9 的输入与输出
1这里需要明白,pep9虚拟机用的是内存映射输入输出。其中输入和输出对应的地址分别是FC15和FC16。同时,该虚拟机使用ASCⅡ字符集来表示字符,也就是是说用一个字节来表示一个ASCⅡ码,因此我们采用载入和存储字节而不是字的方式来实现输入和输出。
2. 拿例子来说,如果要打印出Hi,需要三种类型的命令,共五条:两条载入字节的指令,两条存储,一条停止。。
汇编语言
汇编语言是指通过一些助记指令码使得机器语言更容易被记忆,减少编程中的错误。通过汇编语言编出的叉程序经过汇编器翻译成机器语言后,才能被计算机执行。
pep9汇编语言
- 操作数由0x和十六进制表示,接下来是逗号,然后是寻址模式(i/d) 如:0x008B,i
2助记码有多种,如STOP (停止执行) , LDWA(将字载入) LDBA(将字节载入) ADDA(将字加到累加器)
伪操作
即汇编器指令,大多都是汇编器本身使用的指令。汇编语言程序也支持伪操作。
表达算法
伪代码是一种语言,让我们以更清晰的形式表达算法。
伪代码的功能
1变量 赋值 输入输出 选择 重复
测试
明箱测试 暗箱测试 测试计划 测试用例
第七章主要讲问题求解和基于此的算法设计
如何解决问题
1.提出问题
2寻找熟悉的情况
3分而治之
算法
计算机问题求解过程
分析和说明阶段,算法开发阶段,实现阶段,维护阶段。
自顶向下设计:分析问题 列出主要任务 编写其余的模块 根据需要进行重组和改写
测试算法
搜索算法
顺序搜索
二分检索
排序算法
选择排序 冒泡排序 插入排序 快排序