{name:"mul",funct:uint32(0x2),rs:Word(5),rt:Word(2),opcode:uint32(28),rdReg:uint32(0x8),expectRes:Word(10),expectRevert:false},// mul t0, t1, t2
{name:"mult",funct:uint32(0x18),rs:Word(0x0F_FF_00_00),rt:Word(100),rdReg:uint32(0x0),opcode:uint32(0),expectHi:Word(0x6),expectLo:Word(0x3F_9C_00_00),expectRevert:false},// mult t1, t2
{name:"multu",funct:uint32(0x19),rs:Word(0x0F_FF_00_00),rt:Word(100),rdReg:uint32(0x0),opcode:uint32(0),expectHi:Word(0x6),expectLo:Word(0x3F_9C_00_00),expectRevert:false},// multu t1, t2
{name:"div",funct:uint32(0x1a),rs:Word(5),rt:Word(2),rdReg:uint32(0x0),opcode:uint32(0),expectHi:Word(1),expectLo:Word(2),expectRevert:false},// div t1, t2
{name:"div by zero",funct:uint32(0x1a),rs:Word(5),rt:Word(0),rdReg:uint32(0x0),opcode:uint32(0),expectRevert:true,errMsg:"MIPS: division by zero"},// div t1, t2
{name:"divu",funct:uint32(0x1b),rs:Word(5),rt:Word(2),rdReg:uint32(0x0),opcode:uint32(0),expectHi:Word(1),expectLo:Word(2),expectRevert:false},// divu t1, t2
{name:"divu by zero",funct:uint32(0x1b),rs:Word(5),rt:Word(0),rdReg:uint32(0x0),opcode:uint32(0),expectRevert:true,errMsg:"MIPS: division by zero"},// divu t1, t2