对于我们的类(class),我们必须编写一个 C 程序,将 MIPS 指令编码为指令字,并将指令字解码为 MIPS 指令。
我已经编写了所有内容并在某些情况下进行了测试,但我想在更大的数据集上进行测试。
我们得到了测试文件:test.asm
和 test.bin
。
.asm
文件有 MIPS 指令,.bin
文件有那些 MIPS 指令的等效指令字。
我的 decode
函数从 test.bin
接收指令字,将它们转换为等效的 MIPS 指令并将其发送到 stdout
。
我想将解码函数的输出与 test.asm
文件中的 MIPS 指令进行比较,看看它们是否等效(我正确解码)。
有人告诉我可以使用带有进程替换的 cmp
命令来比较两者,但我不知道我会在 <(...)
中放入什么。
我使用 bin/mips -d < test.bin
运行我的程序,其中 -d
标志代表 decoding
。
我在想也许会是这样,但我不确定:
cmp <(cat test.asm) <(bin/mips -d < test.bin)
最佳答案
该命令应该有效,但不需要使用 cat
的进程替换,只需将文件名放在那里:
cmp test.asm <(bin/mips -d < test.bin)
关于c - 将 cmp 与进程替换 (stdout) 一起使用? ( bash ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48672593/