2013-04-15 26 views
2

我似乎无法找到答案,它真的开始纠缠我。 这是因为一个十六进制值由4位组成? (假设第二个操作数是一个整数,否则 - 指出,如果我不正确)为什么在ASM中使用十六进制?

mov ebx,0x00 ; why not ebx,0? 
mov eax,0x01 ; why not ebx,1? 

上面似乎与工作都做一个系统调用sys_exit(0)的时候,所以我的困惑ASTO为什么如果它更容易使用十六进制以另一种方式去做。

+4

一致性为一件事,作者的个人喜好 –

+3

代码约定,传统。 –

+0

十六进制值由与相同的十进制表示完全相同的位数组成。这也不例外。 – elslooo

回答

3

在给定的上下文中使用任何基础都是有意义的。你在ASM中所做的大部分工作都是处理寄存器,内存地址等,这些地址通常以十六进制表示。花更多的时间在大会上,看看你是否仍然认为10号“更容易”。

+0

我在想,根据具体情况可能会有所不同,但我并不确定。 我知道十六进制在更大的值上更容易;我的意思是在我的情况下:价值小的地方。 感谢您的回答。 – user1807879

相关问题