2021-2022-1 20211408《信息安全专业导论》第5周学习总结

2021-2022-1 20211408 《信息安全专业导论》第5周学习总结

作业信息

这个作业属于哪个课程 2020-2021-1信息安全专业导论
这个作业要求在哪里 2020-2021-1信息安全专业导论第5周作业
这个作业的目标 Pep/9虚拟机、机器语言与汇编语言、算法与伪代码、测试:黑盒,白盒
作业正文 寻找你的黑客偶像无穷的技艺

教材学习内容总结

  • 机器语言与汇编语言的区别:
    机器语言是计算机直接使用的二进制编码构成的指令(由此我也明白了为什么早期计算机科学家都是数学家);而汇编语言是一种低级语言,用助记码表示特定计算机的机器语言,由汇编器进行翻译工作。
  • 虚拟机pep/9的重要特性:
    虚拟机是一种假想机器,用来模拟真实机器
    • 基本特性:内存单元由65536字节的存储空间构成。字长是2字节,16位,可用两个十六进制数字表示一个字节中的位模式。它有七个寄存器
    • 指令格式:两部分构成,即8位的指令说明符和(可选的)16位的操作数说明符。长度为1字节或3字节。
      指令说明符的格式是操作代码(即操作码),4位到8位不等,教材中均是4位,由此第五位位寄存器,教材中均是0,因为都是A寄存器累加器)。后面3位是寻址模式说明符,其中000是立即寻址,001是直接寻址。没有操作数(要处理的数据)的指令称为一元指令,长度为1字节。
  • 区分立即寻址和直接寻址:

立即寻址就是指令当中自带数据,直接读取,最快;
直接寻址就是指令中存放的是地址,直接解析这个地址;
间接寻址就只指令中存放的是地址的地址,或者是存放地址的寄存器,最慢。
1、立即寻址方式:
操作数就包含在指令中。作为指令的一部分,跟在操作码后存放在代码段。
这种操作数成为立即数。立即数可以是8位的,也可以是16位的。
例如:
指令: MOV AX,1234H
则: AX = 1234H
2、直接寻址方式:
操作数在寄存器中,指令直接包含有操作数的有效地址(偏移地址)
注:操作数一般存放在数据段
所以操作数的地址由DS加上指令中直接给出的16位偏移得到。如果采用
段超越前缀,则操作数也可含在数据段外的其他段中。
例如:
MOV AX,[8054]
如(DS) = 2000H,
则执行结果为(AX) = 3050H
(物理地址=20000+8054=28054H)
28054H里的内容为3050H

  • 编写一个简单的机器语言程序:

  • 描述创建和运行汇编语言程序的步骤:
    1、画框图
    2、编制代码
    3、调试编译
    4、运行测试

  • 编写简单的汇编语言程序:

  • 区分汇编器的指令和要翻译的指令
    汇编器是将汇编语言翻译为机器语言,而要翻译的指令是将该伪代码翻译成pep/9语句,二者有本质区别。

  • 区分执行一种算法和开发一种算法
    执行一种算法是“从有化为有形”,即算法已经有了,执行出结果进行输出;而开发一种算法则是“从无到有”,即本没有该种算法,而新编写了一个算法。

  • 描述表达算法时使用的伪代码结构

    • 变量
    • 赋值
    • 输入/输出
    • 重复(迭代、循环)
    • if-then 选择
    • if-then-else选择
  • 使用伪代码描述算法
    如:

Set sum to 0
Read num1
Set sum to sum + num1
Read num2
Set sum to sum + num2
if(sum<0)
    Write "Error"
ELSE
    Write sum

给变量sum赋值0,输入num1,将sum赋值为num1+sum,输入num2,将sum赋值为sum+num2。如果sum的结果小于0,则输出“Error”,否则输出sum的值,从而实现num1+num2

  • 描述两种测试方式

    • 代码覆盖测试法,又叫明箱测试法,测试者可以看到代码
    • 数据覆盖测试法,又叫暗箱测试法,测试者看不到代码,该测试法基于输入的数据而非代码
  • 设计和实现测试方案
    针对上述两数相加,首先确保不超过存储边界值,其次分别对输入两个正数、两个负数、一正一负(其中正数绝对值大于负数绝对值,另一种正数绝对值小于负数绝对值)以及大数进行验证,输出结果与预期相符则加大我们对程序运行的信心,若不一样,则应该寻找没有覆盖到的问题。

教材学习中的问题和解决过程

立即寻址就是指令当中自带数据,直接读取,最快;
直接寻址就是指令中存放的是地址,直接解析这个地址;
间接寻址就只指令中存放的是地址的地址,或者是存放地址的寄存器,最慢。
1、立即寻址方式:
操作数就包含在指令中。作为指令的一部分,跟在操作码后存放在代码段。
这种操作数成为立即数。立即数可以是8位的,也可以是16位的。
例如:
指令: MOV AX,1234H
则: AX = 1234H
2、直接寻址方式:
操作数在寄存器中,指令直接包含有操作数的有效地址(偏移地址)
注:操作数一般存放在数据段
所以操作数的地址由DS加上指令中直接给出的16位偏移得到。如果采用
段超越前缀,则操作数也可含在数据段外的其他段中。
例如:
MOV AX,[8054]
如(DS) = 2000H,
则执行结果为(AX) = 3050H
(物理地址=20000+8054=28054H)
28054H里的内容为3050H

由此我大概明确了二者的区别。

代码调试中的问题和解决过程

  • 问题1:在声明类变量的时候,
def speak(self,sound):
        print("{}在叫,'{}'!".format(self.name,sound))

其中,括号里第二个{}外面我用了双引号,与最外面的双引号难以区分,出现问题。

  • 问题1解决方案:将任意一对引号改成单引号即可,这里我改了第二个的{}的引号
  • 问题2:c语言中,用char确定的字符我输入了中文字符,最后输出不出来,报错了,不知为何
  • 问题2解决方案:求教了学长,学长告诉我,中文是两位的,char默认只是一位的,所以报错,帮我修改了一下,如图:
  • 问题3:在pep/9中使用汇编语言的循环时,忘记在第一行输入BR(转到位置001A)和main,使得循环运行不出结果
  • 问题3解决方案:补上后,成功运行

[代码托管]


上周考试错题总结

  • 错题1: The category of numbers called integers includes negative numbers.
    本题应该是正确,本题题意为整数包含负数,我当时并没有理解到位就做了答。
  • 错题2: The value of each position in number system is determined by subtracting the base from the position number.
    本题应该是错误,本题题意为“数字系统中每个位置的值是通过从位置编号中减去基数来确定的。”,并非是减去基数,而是乘以基数的多少次决定的,如十进制数字23中,基数为10,左边的值是2*10^1决定。
  • 错题3: Grace Murray Hopper participated in the design of the COBOL programming language.
    本题应该是正确,Grace Murray Hopper参与了COBOL的设计。
  • 错题4: Which of the following is data about data , such as the resolution of an image being stored with the image?
    A.Scientific notation
    B.Keyword encoding
    C.Metadata
    D.Digital
    E.Analog data
    本题应该选C元数据,元数据的概念是元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
  • 错题5: Huffman encoding uses variable length binary strings to represent particular characters.
    本题应该是正确,霍夫曼编码,是一种编码方式,霍夫曼编码是可变字长编码(VLC)的一种

其他

程序这一块感觉有点难度,不止是代码本身,还要理解代码如何运行,现在脑子里运行一遍,再用终端验证自己的想法。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90
第五周 300/1600 3/11 30/120
  • 计划学习时间:25小时

  • 实际学习时间:30小时

  • 改进情况:思考时间比以往明显增加,查阅资料的次数也多了许多。

参考资料

posted @ 2021-10-20 20:17  20211408王其  阅读(197)  评论(0编辑  收藏  举报