汇编语言基础知识
笔记纯属记录个人学习过程使用,参考教程http://blog.fishc.com/category/assembly/page/8;欢迎转载
一:汇编语言入门
汇编语言是直接在硬件之上工作的编程语言,汇编课程的研究重点放在如何利用硬件系统的编程结构和指令集有效灵活的控制系统进行工作。
1.机器语言
机器语言:机器指令的集合。
机器指令:一台机器可以正确执行的命令。
例如:机器指令:01010000 对应的汇编语言为(PUSH AX)
电平脉冲:
S = 768 + 12288 – 1280
机器码:
101100000000000000000011
000001010000000000110000
001011010000000000000101
2. 汇编语言的产生
汇编语言的主体是汇编指令
汇编指令是机器指令的助记符。
机器指令: 1000100111011000
操作:寄存器 BX的内容送到AX中
汇编指令:MOV AX,BX
这样的写法与人类语言接近,便于阅读和记忆。
寄存器:简单的讲是CPU中可以存储数据的器件,一个CPU中有多个寄存器。
AX是其中一个寄存器的代号,
BX是另一个寄存器的代号。
计算机能读懂的只有机器指令,计算机执行用汇编指令编写的程序过程如图:
3. 汇编语言组成
汇编语言组成结构:
1、汇编指令(机器码的助记符,核心)
2、伪指令 (由编译器执行)
3、其它符号(由编译器识别)
存储器
CPU 是计算机的核心部件.它控制整个计算机的运作并进行运算,要想让一个CPU 工作,就必须向它提供指令和数据。
指令和数据在存储器中存放,也就是平时所说的内存。
在一台PC机中内存的作用仅次于CPU。
磁盘不同于内存,磁盘上的数据或程序(指令集)如果不读到内存中,就无法被CPU 使用。
指令和数据
指令和数据是应用上的概念。
在内存或磁盘上,指令和数据没有任何区别,都是二进制信息。
二进制信息:
1000100111011000
─> 89D8H (数据)
1000100111011000
─> MOV AX,BX (程序,指令)
存储单元
存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号;
例如:
一个存储器有128个存储单元,
编号从0~127。
CPU对存储器的读写
CPU要想进行数据的读写,必须和外部器件(标准的说法是芯片)进行三类信息的交互:
1.存储单元的地址(地址信息)
2.器件的选择,读或写命令(控制信息)
3.读或写的数据(数据信息)
那么CPU是通过什么将地址、数据和控制信息传到存储芯片中的呢?
电子计算机能处理、传输的信息都是电信号,电信号当然要用导线传送。
在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。
物理上:一根根导线的集合;
逻辑上划分为:
地址总线
数据总线
控制总线
总线在逻辑上划分的图示: