汇编基础知识
机器语言:只识别二进制0,1(高电平,低电平)。
汇编语言:有三类指令:(1)汇编指令:机器码的助词符,有对应的机器码。
(2)伪指令:没有对应机器码,由编译器识别,计算机并不执行。
(3)其他符号:如+,-,*,/等,由编译器识别,没有对应机器码。
CPU-->memory:存储器的存储单元以字节(byte)为单位。每一种CPU都有自己的指令集.
CPU由运算器,控制器,存储器等器件构成,这些器件靠内部总线连接。
运算器:进行信息处理。
存储器:进行信息存储。
控制器:控制各种器件进行工作。
内部总线:连接各种器件,在它们之间进行数据传送。
1Byte=8bit,1KB=1024Byte,1MB=1024KB,1GB=1024MB,1TB=1024GB。
地址总线:一个CPU有N根地址总线,即总线宽度N,最多可以寻址2N个内存单元。
数据总线:数据总线的宽度决定了CPU与外界的数据传送的速度。8根数据线传送一个字节,16根数据线传送2个字节。
控制总线:控制总线的宽度决定了CPU对外部器件的控制能力。
内存地址空间:(1)有RAM(随机存储),ROM(只读存储),显存。(2)其大小受CPU地址总线宽度的限制。如:地址总线宽度为32根,则内存地址空间最大为232=230*22=4GB。
寄存器:汇编程序员通过改变各种寄存器的内容来实现对CPU进行控制。
不同的CPU,寄存器的个数,结构也不一样。8086CPU有14个寄存器,都是16位(2个字节)的。AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW.
通用寄存器:AX,BX,CX,DX用来存放一般性的数据,称这通用寄存器。AX=AH+AL;BX=BH+BL;CX=CH+CL;DX=DH+DL.
16位机CPU的结构特性:(1)运算器一次最多处理16位数据。
(2)寄存器的最大宽度是16位。
(3)寄存器与运算器之间的通路为16位。
8086CPU有20位地址总线,可寻址220,1M的地址空间。而8086CPU又是一个16位结构,在内部一次处理,传输,存储的地址为16位,可寻址216=210*26=64KB地址空间。所以内部采用两个16位地址来形成20位的物理地址。物理地址=段地址x16+偏移地址。如要访问地址为123C8H的内存单元,则分成两个16位地址:123C8H=1230Hx16+00C8。而1230Hx16就是相当于把段地址的1230H的二进制数向左移动了4位,得到12300H。
段寄存器:8086CPU有4个段寄存器CS,DS,SS,ES。
CS:IP CS为代码段寄存器,IP为指令指针寄存器。计算机的CPU总是最先从CS:IP指向的内容当作指令去开始执行。如:CS中的内容为M,IP中内容为N,则CPU从Mx16+N单元开始,读取一条指令并开始执行。