OLD | NEW |
---|---|
1 // Copyright 2007-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2007-2008 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 1138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1149 data += PrintRightOperand(data); | 1149 data += PrintRightOperand(data); |
1150 AppendToBuffer(",%s", NameOfXMMRegister(regop)); | 1150 AppendToBuffer(",%s", NameOfXMMRegister(regop)); |
1151 } else if (*data == 0xEF) { | 1151 } else if (*data == 0xEF) { |
1152 data++; | 1152 data++; |
1153 int mod, regop, rm; | 1153 int mod, regop, rm; |
1154 get_modrm(*data, &mod, ®op, &rm); | 1154 get_modrm(*data, &mod, ®op, &rm); |
1155 AppendToBuffer("pxor %s,%s", | 1155 AppendToBuffer("pxor %s,%s", |
1156 NameOfXMMRegister(regop), | 1156 NameOfXMMRegister(regop), |
1157 NameOfXMMRegister(rm)); | 1157 NameOfXMMRegister(rm)); |
1158 data++; | 1158 data++; |
1159 } else if (*data == 0x73) { | |
1160 data++; | |
1161 int mod, regop, rm; | |
1162 get_modrm(*data, &mod, ®op, &rm); | |
1163 int8_t imm8 = *reinterpret_cast<int8_t*>(data + 1); | |
Erik Corry
2010/09/20 11:56:50
Why not just:
int imm8 = data[1];
?
Vitaly Repeshko
2010/09/21 12:54:49
Almost done. I left static_cast there to avoid uns
| |
1164 AppendToBuffer("psllq %s,%d", | |
1165 NameOfXMMRegister(rm), | |
1166 static_cast<int>(imm8)); | |
1167 data += 2;; | |
1159 } else { | 1168 } else { |
1160 UnimplementedInstruction(); | 1169 UnimplementedInstruction(); |
1161 } | 1170 } |
1162 } else { | 1171 } else { |
1163 UnimplementedInstruction(); | 1172 UnimplementedInstruction(); |
1164 } | 1173 } |
1165 break; | 1174 break; |
1166 | 1175 |
1167 case 0xFE: | 1176 case 0xFE: |
1168 { data++; | 1177 { data++; |
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1463 fprintf(f, " "); | 1472 fprintf(f, " "); |
1464 } | 1473 } |
1465 fprintf(f, " %s\n", buffer.start()); | 1474 fprintf(f, " %s\n", buffer.start()); |
1466 } | 1475 } |
1467 } | 1476 } |
1468 | 1477 |
1469 | 1478 |
1470 } // namespace disasm | 1479 } // namespace disasm |
1471 | 1480 |
1472 #endif // V8_TARGET_ARCH_IA32 | 1481 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |