我在概念上理解汇编语言时遇到了麻烦。我想澄清一下我是否走在正确的轨道上。
例如,假设寄存器eax
包含十六进制值0x000000FF,指令为add eax, 44d
。我基本上要做的就是增加44到255,这就是FF。结果将是0x0000012B,与eax寄存器中已有的格式相匹配。我想澄清一下这个感谢。
答案 0 :(得分:1)
这些数字没有"数字系统"一点都不他们只有价值。
数字系统(十六进制,十进制,八进制,二进制等)只是一个书写系统。只有当数字必须写在某些信息载体上时才有意义 - 纸张,计算机屏幕,存储单元等。
更改数字系统,不会更改数字的值。
因此,您可以在不同的数字系统中编写数字,它将具有相同的值,无论它看起来是不同的。你只需要以不同的方式阅读它。
在汇编语言中,十六进制系统是首选,因为它允许非常容易(精神上)转换为二进制(系统CPU用于在内存中写入数字)。这就是大多数调试器将以十六进制显示数字的原因。