我意识到虽然英特尔芯片在数据段中存储数据时只是小端,但是在代码段中存储机器代码时,相同的芯片是大端。 MOV AL的操作码57是B057。 B0存储在低字节中,57存储在下一个更高字节中。 是小端还是大端的约定只适用于数据段?
答案 0 :(得分:1)
字节顺序是指数据类型的表示形式。操作码不是数据(至少,不是这种意义上的),因此字节序不相关。
答案 1 :(得分:1)
endianess关注如何存储字节以构成更大的数据类型,例如最低有效字节是先存储还是最后存储在例如存储器中。一个16位整数。
这段机器代码由几个单独的部分组成,它没有被合并为一个整数,所以它并没有让senese谈论那里的endianess。现在,如果你有一个操作于大于一个字节的立即整数的操作码,那么整数将作为代码的一部分以小端存储。