Index: src/x87/disasm-x87.cc |
diff --git a/src/x87/disasm-x87.cc b/src/x87/disasm-x87.cc |
index 53a8c2906703668e9622611fabbbce8d5b551426..46d92b3286791b047cf7516ebd3296c99d1070b4 100644 |
--- a/src/x87/disasm-x87.cc |
+++ b/src/x87/disasm-x87.cc |
@@ -702,7 +702,8 @@ int DisassemblerX87::MemoryFPUInstruction(int escape_opcode, |
case 0: mnem = "fld_s"; break; |
case 2: mnem = "fst_s"; break; |
case 3: mnem = "fstp_s"; break; |
- case 7: mnem = "fstcw"; break; |
+ case 5: mnem = "fldcw"; break; |
+ case 7: mnem = "fnstcw"; break; |
default: UnimplementedInstruction(); |
} |
break; |
@@ -716,11 +717,19 @@ int DisassemblerX87::MemoryFPUInstruction(int escape_opcode, |
} |
break; |
+ case 0xDC: switch (regop) { |
+ case 0: mnem = "fadd_d"; break; |
+ default: UnimplementedInstruction(); |
+ } |
+ break; |
+ |
case 0xDD: switch (regop) { |
case 0: mnem = "fld_d"; break; |
case 1: mnem = "fisttp_d"; break; |
case 2: mnem = "fst_d"; break; |
case 3: mnem = "fstp_d"; break; |
+ case 4: mnem = "frstor"; break; |
+ case 6: mnem = "fnsave"; break; |
default: UnimplementedInstruction(); |
} |
break; |