这学期开始学习汇编语言的相关知识,众所周知,汇编语言作为直接在硬件之上工作的语言,其本身作为一种低级语言,不怎么受程序员的偏爱,但是常用于编写驱动程序、模拟器和游戏。第一章的基础知识是汇编语言编程艺术的开始。
1.三种语言
汇编语言:
组成:
(1)汇编指令(核心):机器码的助记符,有对应的机器码,决定了汇编语言的特性。
(2)伪指令:没有对应的机器码,由编译器执行,计算机不执行。
(3)其他符号:如+、-、*等,由编译器识别,没有对应的机器码。
执行:
程序员->汇编指令->编译器->机器码->计算机执行
优势:
(1):作为机器语言的符号化,其直接相关于计算机。
(2):代码段短,速度快,效率高。
缺陷:
(1):作为低级的程序语言,因为复杂不受广大程序员的喜爱,缺乏可移植性。
(2):开发效率低,对个人的汇编语言要求和计算机原理相关知识要求高。
机器语言:
简介:机器语言是机器指令的集合,也就是一系列二进制数,每一种微处理器,由于硬件设置和结构不同,机器指令也大相径庭,早期的程序员每天需要处理大量的机器纸带,0和1的复杂集合给人们带来了极大的困扰。
高级语言
简介:因为其适用性广,方便简洁,一套成熟的运算法则体系及算法即可自己形成一种高级语言,便于学习和修改。
像我们学习过的C、C++,正在学习的JAVA,都具有某些相似特性,如运行速度慢,占据空间大等问题。
附上近几年来受欢迎的语言排行
2.计算机硬件系统组成结构
随着时代的更替,计算机也从体积,容量,运算速度等方面有了显著的改善。
冯·诺依曼:计算机之父,提出来了著名的冯·诺依曼计算机体系结构
如图
CPU是计算机的核心部件,控制整个计算机的运作和运算,向计算机提供指令和数据,CPU就可以进行解读并执行。
寄存器是CPU的重要组成,存储器被分为许多个内存单元,每个存储单元从0开始顺序编号,计算机的最小信息单位是比特,也就是一个二进制位,8个比特组成一个字节,一个存储器有128个存储单元,可以说是存储128个字节。
相关换算如下
1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB
CPU对存储器的读写
计算机连接CPU和其他芯片的导线,称为总线,在逻辑上分为三类,地址总线,控制总线和数据总线。
地址总线:确定存储器单元,其宽度决定了CPU的寻址能力,例:8080地址宽度为16根,寻址能力为64KB。
数据总线:CPU和内存和其他器件的数据传送,其宽度决定了一次数据传输量,例:8080的数据总线宽度为8根,一次可以传输的数据为1B。
控制总线:对外器件的控制,其宽度决定了控制能力。
相关工作流程:
1.CPU通过地址线将地址信息发出
2.CPU通过控制线发出内存读或者写命令
3.CPU将数据送入内存或者存储器将数据送入CPU,这两项操作通过数据线完成
3.内存地址空间
通俗来讲,就是CPU可寻找到的内存单元组成其内存寻址空间。
各类存储器的逻辑连接
如图
ROM:装有BIOS的ROM可以通过BIOS与各种硬件进行最基础的输入输出。
RAM:显存,即出现在显示器上的内容。
根据上面说的,存储器都和CPU的总线相连,每一个都被当成一个若干存储单元的逻辑存储器,即内存存储空间,每一个物理存储器占用一个地址段,即地址空间,CPU在这些地址空间上读写就相当于在物理器件上操作。
总结:汇编语言的初学习基于对CPU的理解,CPU的寻址能力,关于内存地址空间的具体分配情况,关于寄存器,电脑的基础知识是必要的。
学习计算机相关语言的重要性就如《黑客与画家》中写道:想要把握这个时代,就必须理解计算机,进一步了解计算机的本质。