X86汇编2.寄存器
最近学习了X86汇编,其实无论是古老的8086还是现在i3/5/7/9,Xeon3/5,在最基本原理上,都是相通的,只是CPU位数,寻址空间,寄存器个数,指令集的扩充等方面有所不同,对于学习,8086永不过时。 1.CPU组成 一个典型CPU由:运算器、控制器、寄存器(CPU工作原理)等部件构成,这些器件依靠内部总线连接。 运算器进行信息处理 寄存器进行信息存储,每个CPU有不同数量的寄存器 控制器控制各种器件进行工作 内部总线连接各种器件,在他们之间进行数据的传送 对于一个汇编程序员来说,寄存器是CPU中可以用指令读写的部件,程序员通过改变寄存器中的内容来实现对CPU的控制。 常用的寄存器(reg)有:ax,bx,cx,dx,ah,al,bh,bl,ch,cl,dh,dl,sp,bp,si,di 段寄存器(sreg)有:ds,ss,cs,es 2.通用寄存器 以8086为例,8086CPU的寄存器都是16位的,有4个通用寄存器:AX、BX、CX、DX,但是为了兼容更老的CPU,每个16位通用寄存器可以分为2个8位的独立通用寄存器,如:AX可分成:AH、AL独立使用,其他也一样。 汇编指令(不区分大小写): mov ax, 18 ;将18存入ax寄存器 mov ah, 78 ;将78存入ah寄存器,也就是ax的高8位 add ax, 8 ;将ax寄存器的值加8