diff options
author | Pavel Pisa <pisa@cmp.felk.cvut.cz> | 2019-01-31 11:02:03 +0100 |
---|---|---|
committer | Pavel Pisa <pisa@cmp.felk.cvut.cz> | 2019-01-31 11:02:03 +0100 |
commit | eab6cf4fc5720b330ba89c38e9e6119a8a6fabfa (patch) | |
tree | e706c645c9ee51b1a9fcbf15fee6bda870d1cd54 /qtmips_machine/alu.h | |
parent | 6a6bd48da1f09be7dc7c53f13393b07889eea364 (diff) | |
download | qtmips-eab6cf4fc5720b330ba89c38e9e6119a8a6fabfa.tar.gz qtmips-eab6cf4fc5720b330ba89c38e9e6119a8a6fabfa.tar.bz2 qtmips-eab6cf4fc5720b330ba89c38e9e6119a8a6fabfa.zip |
Initial support for JAL.
The JR, BEQ, BNE are most probably incorrect still.
There is missing forwarding for pipelined execution.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Diffstat (limited to 'qtmips_machine/alu.h')
-rw-r--r-- | qtmips_machine/alu.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/qtmips_machine/alu.h b/qtmips_machine/alu.h index 786bba0..f0ce6c2 100644 --- a/qtmips_machine/alu.h +++ b/qtmips_machine/alu.h @@ -33,8 +33,9 @@ enum AluOp : std::uint8_t { ALU_OP_NOR, ALU_OP_SLT = 42, ALU_OP_SLTU, - ALU_OP_LUI, // We don't care about exact index for this one - ALU_OP_LAST = 64 // First impossible operation (just to be sure that we don't overflow) + ALU_OP_LUI = 64, // We don't care about exact index for this one + ALU_OP_PASS_S, // Pass s argument without change for JAL + ALU_OP_LAST // First impossible operation (just to be sure that we don't overflow) }; // Do ALU operation. |