diff --git a/hw/cpu/lib/instr_decode.v b/hw/cpu/lib/instr_decode.v index 4d41dc59196a0df3f838e8ce2de195685f189a0f..77787344e6867c80da957df85e07b10c8327ba76 100644 --- a/hw/cpu/lib/instr_decode.v +++ b/hw/cpu/lib/instr_decode.v @@ -336,7 +336,16 @@ module instr_decode (input [15:0] instr, imm_data = uimm; imm_enable = 1; end - /* Reserved op codes, 1011 1..., another 4 immediate instructions? */ + /* Immediate mullo */ + 'b1011_100?_????_????: begin + mul_enable = 1; + mul_op = `OP_MUL_LOW; + dst_write_enable = 1; + src_neg = instr[8]; + imm_data = uimm; + imm_enable = 1; + end + /* Reserved op codes, another 3 immediate instructions? */ /* Immediate tst */ 'b1100_000?_????_????: begin alu_enable = 1;