test/ack.ml をRISC-Vで動かす
#MinCaml #RISC-V
修正箇所
code:diff
diff --git a/RV32/emit.ml b/RV32/emit.ml
index 7b6c6d6..a72fa35 100644
--- a/RV32/emit.ml
+++ b/RV32/emit.ml
@@ -217,7 +217,7 @@ and g' oc = function (* 各命令のアセンブリ生成 (caml2html: emit_gprim
Printf.fprintf oc "\taddi %s, %s, %d\n" (reg reg_sp) (reg reg_sp) (ss * (-1));
Printf.fprintf oc "\tlw %s, %d(%s)\n" (reg reg_tmp) (ss - 4) (reg reg_sp);
if List.mem a allregs && a <> regs.(0) then
- Printf.fprintf oc "\tmr\t%s, %s\n" (reg a) (reg regs.(0))
+ Printf.fprintf oc "\tmv %s, %s\n" (reg a) (reg regs.(0))
else if List.mem a allfregs && a <> fregs.(0) then
Printf.fprintf oc "\tfmr\t%s, %s\n" (reg a) (reg fregs.(0));
実行してみる
ちゃんと動いた
code:sh
$ make clean test/ack
$ spike /opt/riscv/pk/riscv32-unknown-elf/bin/pk test/ack
8189