diff --git a/src/main/scala/Decoder.scala b/src/main/scala/Decoder.scala index f4ddd66..3f6dc46 100644 --- a/src/main/scala/Decoder.scala +++ b/src/main/scala/Decoder.scala @@ -87,7 +87,7 @@ class Decoder() extends Module { // signal regWrite, memRead, memWrite, branch, jump, branchType, Op1Select, Op2Select, ImmSelect, ALUOp JAL -> List(Y, N, N, Y, Y, branchType.jump, PC, imm, ImmFormat.JTYPE, ALUOps.ADD ), - JALR -> List(Y, N, N, Y, Y, branchType.jump, rs1, imm, ImmFormat.JTYPE, ALUOps.ADDR ), + JALR -> List(Y, N, N, Y, Y, branchType.jump, rs1, imm, ImmFormat.ITYPE, ALUOps.ADDR ), ) diff --git a/src/test/resources/tests/jump.s b/src/test/resources/tests/jump.s index e9334e9..cb18ee4 100644 --- a/src/test/resources/tests/jump.s +++ b/src/test/resources/tests/jump.s @@ -1,11 +1,8 @@ main: - addi x2, x2, 4 - j loop - -end: + jal x1, end + addi x1, x1, 0 done -loop: - bge x1, x2, end - addi x1, x1, 1 - j loop \ No newline at end of file +end: + jr x1 + addi x1, x1, 1 \ No newline at end of file diff --git a/src/test/scala/Manifest.scala b/src/test/scala/Manifest.scala index d38187b..1f1cae2 100644 --- a/src/test/scala/Manifest.scala +++ b/src/test/scala/Manifest.scala @@ -19,7 +19,7 @@ import LogParser._ object Manifest { - val singleTest = "branch.s" + val singleTest = "jump.s" val nopPadded = true