diff --git a/dcb/src/game/exe/instruction/simple.rs b/dcb/src/game/exe/instruction/simple.rs index 0075ecb..02bd30b 100644 --- a/dcb/src/game/exe/instruction/simple.rs +++ b/dcb/src/game/exe/instruction/simple.rs @@ -347,11 +347,10 @@ impl SimpleInstruction { "000010_iiiii_iiiii_iiiii_iiiii_iiiiii" => J { target: (pos & 0xf000_0000) + i * 4 }, "000011_iiiii_iiiii_iiiii_iiiii_iiiiii" => Jal { target: (pos & 0xf000_0000) + i * 4 }, - "000100_sssss_ttttt_iiiii_iiiii_iiiiii" => Beq { rs: reg(s)?, rt: reg(t)?, target: pos + (i + 1) * 4 }, - "000101_sssss_ttttt_iiiii_iiiii_iiiiii" => Bne { rs: reg(s)?, rt: reg(t)?, target: pos + (i + 1) * 4 }, - - "000110_sssss_?????_iiiii_iiiii_iiiiii" => Blez { rs: reg(s)?, target: pos + (i.truncated::().as_signed().sign_extended::() + 1) * 4 }, - "000111_sssss_?????_iiiii_iiiii_iiiiii" => Bgtz { rs: reg(s)?, target: pos + (i.truncated::().as_signed().sign_extended::() + 1) * 4 }, + "000100_sssss_ttttt_iiiii_iiiii_iiiiii" => Beq { rs: reg(s)?, rt: reg(t)?, target: pos + (i.truncated::().as_signed().sign_extended::() + 1) * 4 }, + "000101_sssss_ttttt_iiiii_iiiii_iiiiii" => Bne { rs: reg(s)?, rt: reg(t)?, target: pos + (i.truncated::().as_signed().sign_extended::() + 1) * 4 }, + "000110_sssss_?????_iiiii_iiiii_iiiiii" => Blez { rs: reg(s)? , target: pos + (i.truncated::().as_signed().sign_extended::() + 1) * 4 }, + "000111_sssss_?????_iiiii_iiiii_iiiiii" => Bgtz { rs: reg(s)? , target: pos + (i.truncated::().as_signed().sign_extended::() + 1) * 4 }, "001000_sssss_ttttt_iiiii_iiiii_iiiiii" => Addi { rt: reg(t)?, rs: reg(s)?, imm: i.truncated::().as_signed() }, "001001_sssss_ttttt_iiiii_iiiii_iiiiii" => Addiu { rt: reg(t)?, rs: reg(s)?, imm: i.truncated::().as_signed() },