跳转到主内容
思享编程网:思考分享,玩转编程世界!

汇编初学者必看:寄存器详解,你真的懂了吗?

大家好,我是陆砚码,今天我们来聊聊汇编语言中的那些事儿。很多人在学习汇编的时候,对寄存器这部分感到困惑,今天我们就来好好梳理一下,让你对寄存器有个清晰的认识。

首先,我们来认识一下字节、字、双字和四字

  • 字节(BYTE):8个二进制数,最低位为第0位,最高位为第7位。
  • 字(WORD):2个字节,16个二进制数,最低位为第0位,最高位为第15位。
  • 双字(DWORD):由2个字组成,包含32个二进制数。
  • 四字:由四个字组成,包含64个二进制位。
  • 十字节:由10个字节组成,含80个二进制位。
  • 字符串:由字符构成的一个线性数组,通常一个字符用一个字节表示。

接下来,我们来看看8086/8088寄存器组

8086/8088寄存器组包括14个16位寄存器和8个8位寄存器。

  • 通用寄存器:包括数据寄存器、指针寄存器和变址寄存器,用于传送和暂存数据。
  • 数据寄存器:AX(累加器)、BX(基址寄存器)、CX(计数寄存器)、DX(数据寄存器)。
  • 变址和指针寄存器:SP(堆栈指针)、BP(基指针)。
  • 段寄存器:用于实现寻址1M字节物理地址空间。
  • 控制寄存器:指令指针IP、标志寄存器(OF、ZF、SF、OF、PF、AF、DF、IF、TF)。

最后,我们来了解一下存储器分段和地址的形成

存储器以节为单位存储信息,每个字节单元都有一个地址。在16位字长的机器里,采用存储器地址分段的方法来提供20位地址。

在取指令的时候,自动引用代码段寄存器CS,再加上由IP给出的偏移,得到物理地址。当涉及到一个堆栈操作时,则自动引用堆栈寄存器SS,再加上SP所给出的偏移,得到堆栈操作所需要的物理地址。

好了,今天的内容就到这里,希望对大家有所帮助。我是陆砚码,如果你对汇编语言还有其他疑问,欢迎在评论区留言,我们下期再见!

相关文章