十六进制与十进制数字在注册和操作数中的数字表示



我在概念上理解汇编语言时遇到了麻烦。我想澄清我是否在正确的轨道上。

例如,假设寄存器eax包含十六进制值0x000000ff,并且指令为add eax, 44d。我本质上要做的就是增加44至255,这就是FF。结果将是0x0000012b匹配EAX寄存器中已经存在的格式。我想澄清一下。

这些数字根本没有"数字系统"。他们只有价值。

数字系统(十六进制,十进制,八进制,二进制等)只是一个写作系统。它仅在数字必须写在某些信息载体上 - 纸张,计算机屏幕,内存单元等时才有意义。

更改数字系统,不会更改数字的值。

因此,您可以在不同的数字系统中编写数字,并且它将具有相同的值,无论它似乎不同。您只需要以不同的方式阅读它。

在汇编语言中,十六进制系统是首选的,因为它允许非常简单(精神上)向二进制转换(系统CPU用于在内存中写数字)。这就是为什么大多数调试者都会在十六进制中显示数字。

相关内容

  • 没有找到相关文章

最新更新