我正在按照gem5添加自定义指令。我的问题是如何解释riscv-opc.h中“ const struct riscv_opcode riscv_opcodes []”中提到的操作数。
例如:
{"mod", "I", "d,s,t", MATCH_MOD, MASK_MOD, match_opcode, 0 }
。如何在这里解释“ d,s,t”?
谁能解释整个声明
refLink:https://nitish2112.github.io/post/adding-instruction-riscv/
答案 0 :(得分:1)
根据描述说明的数组顶部的注释:
/* name, isa, operands, match, mask, match_func, pinfo. */
这行说
{"mod", "I", "d,s,t",
mod
属于Integer ISA,它是一个三元组指令,这意味着它需要3个寄存器的符号名称为d,s,t。
d是目标寄存器,s和t是源寄存器。