引言
- 汇编语言是直接在硬件之上工作的编程 语言,首先要了解硬件系统的结构,才 能有效的应用汇编语言对其编程。
- 在本章中,对硬件系统结构的问题进行一部分的探讨,以使后续的课程可在一 个好的基础上进行。
1.1 机器语言
- 机器语言是机器指令的集合。
- 机器指令展开来讲就是一台机器可以正确执行的命令。
例如,指令:01010000 (PUSH AX)
机器语言产生早期程序员们将 0、1 数字编程的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。
1.2汇编语言的产生
- 汇编语言的主题是汇编指令。
- 汇编指令和机器指令的差别在于表示方式上。(英文<—>01代码)
例如:
机器指令:1000100111011000
含义:寄存器BX的内容送到AX中
汇编指令:MOV AX,BX
过程图
提前知识:
寄存器:简单的讲是CPU中可以存储数据的器件,一个CPU中有多个寄存器。
1.3汇编语言的组成
汇编语言由以下三类组成:
- 汇编指令(机器码的助记符) 例:jmp,mov等
- 伪指令(由编译器执行) 不是可执行指令 例:标号: DS (数值表达式)
- 其它符号(由编译器识别)
汇编语言的核心是汇编指令
1.4存储器
- 指令和数据在存储器中存放,也就是平时所说的内存。
- CPU是计算机的核心部件,CPU的工作需要向其提供指令和数据。
- 磁盘不同于内存,磁盘上的数据或程序如果读不到内存中,就无法被CPU使用。
- 虚拟内存:把硬盘一部分划作内存使用。
1.5指令和数据
- 指令和数据是应用上的概念。
- 在内存和磁盘上,指令和数据没有任何区别,都是二进制信息。
例如:
二进制信息:1000100111011000
数据表示为:89D8H
指令表示为:MOV AX,BX
1.6存储单元
- 存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号;
- 例如一个存储器有128个存储单元,编号从0~127
常用存储单位: (B表示Byte)
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB
1.7CPU对存储器的读写
CPU要想进行数据的读写,必须和外部器件(芯片)进行三类信息的交互:
- 存储单元的地址(地址信息)
- 器件的选择,读或者写命令(控制信息)
- 读或写的数据(数据信息)
在计算机中,专门有连接CPU和其他芯片的导线,通常称为总线。
物理上:一根根导线的集合;
逻辑上:
- 地址总线
- 数据总线
- 控制总线
基本过程为:找地址——发指令——读写操作