summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inst.v3
-rw-r--r--instr-table.tex9
-rw-r--r--opcodes3
3 files changed, 13 insertions, 2 deletions
diff --git a/inst.v b/inst.v
index 0d202b0..24b6e06 100644
--- a/inst.v
+++ b/inst.v
@@ -31,7 +31,8 @@
`define OR 32'b?????_?????_?????_0000000110_0110011
`define AND 32'b?????_?????_?????_0000000111_0110011
`define MUL 32'b?????_?????_?????_0000001000_0110011
-`define MULH 32'b?????_?????_?????_0000001010_0110011
+`define MULH 32'b?????_?????_?????_0000001001_0110011
+`define MULHSU 32'b?????_?????_?????_0000001010_0110011
`define MULHU 32'b?????_?????_?????_0000001011_0110011
`define DIV 32'b?????_?????_?????_0000001100_0110011
`define DIVU 32'b?????_?????_?????_0000001101_0110011
diff --git a/instr-table.tex b/instr-table.tex
index 04d9bdc..c29f39a 100644
--- a/instr-table.tex
+++ b/instr-table.tex
@@ -382,6 +382,15 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{rd} & MULHSU rd,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{1}{|c|}{0000000} &
+\multicolumn{5}{c|}{0000000000} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{1}{c|}{rd} & MULHU rd,rs1,rs2 \\
\cline{2-10}
diff --git a/opcodes b/opcodes
index c59a65c..bfb21f6 100644
--- a/opcodes
+++ b/opcodes
@@ -46,7 +46,8 @@ or rd rs1 rs2 16=0 15..10=0 9..7=6 6..2=0x0C 1..0=3
and rd rs1 rs2 16=0 15..10=0 9..7=7 6..2=0x0C 1..0=3
mul rd rs1 rs2 16=0 15..10=1 9..7=0 6..2=0x0C 1..0=3
-mulh rd rs1 rs2 16=0 15..10=1 9..7=2 6..2=0x0C 1..0=3
+mulh rd rs1 rs2 16=0 15..10=1 9..7=1 6..2=0x0C 1..0=3
+mulhsu rd rs1 rs2 16=0 15..10=1 9..7=2 6..2=0x0C 1..0=3
mulhu rd rs1 rs2 16=0 15..10=1 9..7=3 6..2=0x0C 1..0=3
div rd rs1 rs2 16=0 15..10=1 9..7=4 6..2=0x0C 1..0=3
divu rd rs1 rs2 16=0 15..10=1 9..7=5 6..2=0x0C 1..0=3