计算机系统基础(一):从机器语言到高级编程
最早的程序开发过程
-
用机器语言编写程序,并记录在纸带或卡片上
- 输入:按钮、开关等
- 输出:指示灯等
-
所有信息都是0/1序列!
这样会存在许多的问题:例如使用纸带是否穿孔代表0或者1,当你完成了一条纸带的程序编写,这时候想在第三行孔带加入一条程序,该怎么办。只能重新打印纸带。不灵活,书写、阅读困难!
从而有了用符号的语言。这种语言就叫做汇编语言。
用汇编语言开发程序
-
特点:
- 用 助记符表示操作码
- 用 标号表示位置
- 用助记符表示寄存器
- …
-
汇编语言编写带来的优点:
- 不会因为增减指令而需要修改其他指令
- 不需要记忆指令编码,编写方便
- 可读性比机器语言强
-
带来的新问题是:机器不认识这些指令:
- 需要将汇编语言转换为机器语言!使用汇编程序转换。
进一步认识机器及语言
-
汇编语言(源)程序由汇编指令构成
-
用一句话描述什么是汇编指令
- 用助记符和标号来表示的指令(与机器指令一一对应)
-
指令又是什么鬼。
- 包含操作码和操作数或其地址码。机器指令用二进制表示,汇编指令用符号表示
- 只能描述:取(或存一个数),两个数之间的运算,根据运算结果判断是否转移执行
-
ok,可以想象使用 汇编语言编写复杂程序需要描述的细节太多!程序会很长很长!而且在不同结构的机器上就不能运行!
ps: 机器语言和汇编语言都是面向机器结构的语言,故他们统称为机器级语言**。
用高级语言开发程序
- 它们与具体机器结构无关
- 面向算法描述,比机器级语言描述能力强得多
- 高级语言中一条语句对应几条、几十条甚至几百条指令
- 有”面向过程“和”面向对象“的语言之分
- 处理逻辑分为三种结构
- 顺序结构、选择结构、循环结构
-
有两种转换方式:“编译” 和 “解释”
- 编译程序:将高级语言源程序转换为机器级目标程序,执行时只要启动目标程序即可。
- 解释程序:将高级语言语句逐条翻译成机器指令并立即执行,不生成目标文件。