雅乐网

计算机技术、学习成长

编程 » C/C++ » 汇编语言寄存器

汇编语言寄存器

寄存器(Register),是中央处理器内的其中组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。

这里说的是16位寄存器。寄存器的内部给构都相同,只不过是一个二字节或一字节的存储空间,别看他们小,作用可大了,所有电脑的运算,都要从他们过关,因为他们的处理速度快嘛.为了区分和准确运用,就要给他们进行科学的分组和起名.

第一组,数据寄存器,AX,BX,CX,DX.

AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据.

BX(base):基址寄存器,常用于地址索引

CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.

DX(data):数据寄存器,常用于数据传递。

他们的特点是,这4个16位的寄存器可以分为高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。这2组8位寄存器可以分别寻址,并单独使用。

第二组,地址指示和变址寄存器,SI,DI,BP,SP.

它们用来表示一个地址偏移,或用来表示一个地址的变化状况.SI,DI表示变址。

BP,SP的P表示堆栈专用,BP表示基地址专用,SP则是堆栈顶指示器.

SP(Stack Pointer):堆栈指示器,与SS配合使用,可指向目前的堆栈位置

BP(Base Pointer):基址基址寄存器,可用作SS的一个相对基址位置

SI(Source Index):源变址寄存器,可用来存放相对于DS段之源变址指针

DI(Destination Index):目的变址寄存器,可用来存放相对于ES 段之目的变址指针。

其中,BP,SI,DI还可以兼作数据寄存器. SP则只能和堆栈绑定。

这4个16位寄存器只能按16位进行存取操作,主要用来形成操作数的地址,用于堆栈操作和变址运算中计算操作数的有效地址。

第三组,段寄存器,CS,SS,DS,ES.

它们用来存放CPU可以直接访问的四个当前段的段首地址.CS代码段,SS堆栈段,DS数据段,ES附加段.其中,在表示地址时,CS和指令指示器IP绑定使用,SS和BP绑定.DS为SI,DI,BX共用.

CS(Code Segment):代码段寄存器

DS(Data Segment):数据段寄存器

SS(Stack Segment):堆栈段寄存器

ES(Extra Segment):附加段寄存器

第四组,指令指示器

IP,这是CPU自动引用的,表示下一次要从主存取出的指令的偏移.

如果文章对你有帮助,欢迎点赞或打赏(金额不限)。你的打赏将全部用于支付网站服务器费用和提高网站文章质量,谢谢支持。

版权声明:

本文由 原创,商业转载请联系作者获得授权。
非商业转载请注明作者 雅乐网 ,并附带本文链接:
https://www.yalewoo.com/assembly2-2.html

上一篇:

下一篇:

我要评论

验证码*: 4 + 3 =