【发布时间】:2020-02-20 01:29:05
【问题描述】:
情况的故事,用预制的汇编语言构建一个汇编器。我正在我的 C 程序中构建命令。它有效,但它倒退了。
我的程序读取了测试用例,然后你应该在 Linux 上对输出的二进制文件进行 od 操作。以下是测试用例、十六进制程序集和输出的示例:
add r1 r2 r3 (11 23)
interrupt 0 (80 00)
这只是我的一个单元测试的一个简短的 sn-p。每当我在 linux 上执行 od 命令时,都会得到以下结果:
od -x output.bin
0000000 2311 0080
它们被向后翻转。真的,应该是:
0000000 1123 8000
我尝试使用 linux 命令 od -t x1 output.bin 并且有效,但是它将它分成 2 位。必须有一种方法来翻转字节。
【问题讨论】:
-
od有--endian={big|little}开关。 -
看起来是字节序问题。
-
@EugeneSh。我怎么把它放在命令上
-
od -x --endian=big output.bin -
Look here 了解如何使用
od和endian开关。