Chapter 7 低级程序设计语言
7.1 计算机操作
对计算机重新定义: 计算机是能够存储、检索和处理数据的可编程电子设备
7.2 抽象的分层
硬件附带语言 -- 机器语言
低级程序设计语言 -- 汇编语言
高级程序设计语言
7.3 机器语言(* 建议看书 *)
机器语言(machine language): 由计算机直接执行的二进制编码指令构成的语言
每条机器指令都只能执行一个非常低级的任务
虚拟计算机(virtual computer): 用于说明真实计算机的重要特性的假想机
程序计数器(PC): 存放的是下一条要执行的指令的地址
指令寄存器(IR): 存放的是正在执行的指令的副本
A. 指令格式
一条指令由两部分组成 : 指令说明符 和 操作数说明符
指令说明符说明了要执行什么操作和如何解释操作数的位置
操作数说明符存放的是操作数本身或操作数的地址
指令说明符由三部分组成,即操作码、寄存器说明符和寻址模式说明符
操作码说明了具体执行哪条指令,寄存器说明所使用的寄存器,
寻址模式说明了如何解释操作数部分
7.5 汇编语言
汇编语言(assembly language): 一种低级语言,用助记忆码表示特定计算机
的机器语言指令
汇编器(assembler): 把汇编语言程序翻译成机器代码的程序
汇编语言允许添加注释(comment),汇编器会忽略从注释符号(分号 ;)到一行结束出所有字符
汇编语言程序 ----(输入)----> 汇编器 ----(输出)----> 机器代码程序
7.6 其他重要思想
A. 抽象
在机器语言层,几乎没有信息屏蔽,每个细节都必须明确
在汇编语言层,可以用语言自身提供的抽象隐蔽一些细节
B. 测试
测试计划(test plan): 说明如何测试程序的文档
代码覆盖(明箱/白盒)测试法(code-coverage (clear-box) testing):
通过执行代码中的所有语句测试程序或子程序的测试方法
其测试用例会确保程序中的每条语句都能被执行到
数据覆盖(暗箱/黑盒)测试法(data-coverage (black-box) testing);
把代码作为一个暗箱,基于所有可能的输入数据测试程序或子程序的测试方法
它设计的测试用例会确保包括允许使用的数据的边界值