:name: MIPS32 Instruction Verification :description: 验证 MIPS32 指令翻译是否正常工作 $name?="MIPS32-InsnTest" using sysbus mach create $name machine LoadPlatformDescription @platforms/cpus/mips32_simple.repl echo "" echo "==========================================" echo "MIPS32 指令验证测试" echo "==========================================" echo "" # 测试 1: ADD echo "【测试 1】ADD 指令: add v0, a0, a1" cpu PC 0x80000000 cpu A0 0x00000005 cpu A1 0x00000003 cpu V0 0x00000000 sysbus WriteDoubleWord 0x80000000 0x00851020 cpu Step 1 echo " 执行后 V0 =" cpu V0 echo " (预期: 8)" echo "" # 测试 2: ADDI echo "【测试 2】ADDI 指令: addi v0, a0, 100" cpu PC 0x80000000 cpu A0 0x00000050 cpu V0 0x00000000 sysbus WriteDoubleWord 0x80000000 0x20820064 cpu Step 1 echo " 执行后 V0 =" cpu V0 echo " (预期: 180)" echo "" # 测试 3: AND echo "【测试 3】AND 指令: and v0, a0, a1" cpu PC 0x80000000 cpu A0 0xFF00FF00 cpu A1 0xF0F0F0F0 cpu V0 0x00000000 sysbus WriteDoubleWord 0x80000000 0x00851024 cpu Step 1 echo " 执行后 V0 =" cpu V0 echo " (预期: 0xF000F000 = 4026593024)" echo "" # 测试 4: LUI echo "【测试 4】LUI 指令: lui v0, 0x1234" cpu PC 0x80000000 cpu V0 0x00000000 sysbus WriteDoubleWord 0x80000000 0x3C021234 cpu Step 1 echo " 执行后 V0 =" cpu V0 echo " (预期: 0x12340000 = 305397760)" echo "" # 测试 5: LUI + ORI echo "【测试 5】LUI + ORI 组合: 加载 0x12345678" cpu PC 0x80000000 cpu V0 0x00000000 sysbus WriteDoubleWord 0x80000000 0x3C021234 sysbus WriteDoubleWord 0x80000004 0x34425678 cpu Step 1 echo " LUI 后 V0 =" cpu V0 echo " (预期: 0x12340000)" cpu Step 1 echo " ORI 后 V0 =" cpu V0 echo " (预期: 0x12345678 = 305419896)" echo "" echo "==========================================" echo "测试完成!" echo "如果所有结果与预期一致,说明指令翻译正常工作" echo "=========================================="