【发布时间】:2011-03-15 02:27:41
【问题描述】:
假设您正在为不同的架构编写编译器。 架构具有不同的字节顺序。 你有内存读写指令
以存储指令为例,您要在其中存储值 0xAA0xBB0xCC0xDD。 现在在为此编写程序集时,您是否为 不同的架构,例如
对于小端:st (reg), 0xDD0xCC0xBB0xAA
对于大端:st (reg), 0xAA0xBB0xCC0xDD
或者您为两种架构编写相同的指令,例如 st, (reg), 0xAA0xBB0xCC0xDD,并让处理器解析指令以处理系统的字节顺序?
我问这个问题的原因是我不知道当二进制翻译器必须在不同字节序的体系结构之间翻译代码时会做什么。如果在架构 A 中,您看到以下行 st, (reg), XY 您是否将其转换为架构 B 的 st, (reg), YX ?如果是这样,那么内存读取会发生什么?
我想知道如何处理字节顺序,考虑到二进制翻译中的内存读取和写入。
【问题讨论】:
标签: binary translation