diff options
| author | Cliff Click <cliffc@acm.org> | 2025-03-25 12:11:42 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2025-03-25 12:11:42 -0700 |
| commit | 7225eb931c2cefa105b17f393fe242c00b02a185 (patch) | |
| tree | 1282a6a51134c9c50175f282aeb4e01692b6b163 /chapter21/src/main/java/com | |
| parent | 4bbfd2f561f4a28fc749dd36bbb417ce03de5f78 (diff) | |
| download | Simple-7225eb931c2cefa105b17f393fe242c00b02a185.tar.gz Simple-7225eb931c2cefa105b17f393fe242c00b02a185.zip | |
RISC5 branch encoding bug
Diffstat (limited to 'chapter21/src/main/java/com')
| -rw-r--r-- | chapter21/src/main/java/com/seaofnodes/simple/codegen/CodeGen.java | 2 | ||||
| -rw-r--r-- | chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/riscv.java | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/chapter21/src/main/java/com/seaofnodes/simple/codegen/CodeGen.java b/chapter21/src/main/java/com/seaofnodes/simple/codegen/CodeGen.java index d1276114..0ca822d0 100644 --- a/chapter21/src/main/java/com/seaofnodes/simple/codegen/CodeGen.java +++ b/chapter21/src/main/java/com/seaofnodes/simple/codegen/CodeGen.java @@ -317,7 +317,7 @@ public class CodeGen { return this; } // Encoded binary, no relocation info - public byte[] binary() { throw Utils.TODO(); } + public byte[] binary() { return _encoding.bits(); } // --------------------------- // Exporting to external formats diff --git a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/riscv.java b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/riscv.java index 2aa39210..03569709 100644 --- a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/riscv.java +++ b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/riscv.java @@ -181,7 +181,7 @@ public class riscv extends Machine { int imm10_5= (delta>> 5) &0x2F; int imm11 = (delta>>11) & 1; int imm12 = (delta>>12) & 1; - int imm5 = imm4_1<<4 | imm11; + int imm5 = imm4_1<<1 | imm11; int imm7 = imm12<<7 | imm10_5; return (imm7 << 25 ) | (rs2 << 20) | (rs1 << 15) | (func3 << 12) | (imm5 << 7) | opcode; } |
