//\r
// Debugger Disasm Table\r
//\r
-EDB_DISASM_INSTRUCTION mEdbDisasmInstructionTable[] = {\r
+EDB_DISASM_INSTRUCTION mEdbDisasmInstructionTable[] = {\r
EdbDisasmBREAK, // opcode 0x00 BREAK\r
EdbDisasmJMP, // opcode 0x01 JMP\r
EdbDisasmJMP8, // opcode 0x02 JMP8\r
**/\r
UINTN\r
EdbDisasmBREAK (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_BREAK);\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_BREAK);\r
\r
if (*(UINT8 *)(UINTN)(InstructionAddress + 1) > 6) {\r
return 0;\r
return 2;\r
}\r
\r
-extern CONST UINT8 mJMPLen[];\r
+extern CONST UINT8 mJMPLen[];\r
\r
/**\r
\r
**/\r
UINTN\r
EdbDisasmJMP (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
UINT8 Modifiers;\r
UINT32 Data32;\r
UINT64 Data64;\r
\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_JMP);\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_JMP);\r
\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
- Operands = GET_OPERANDS (InstructionAddress);\r
- Size = (UINTN)mJMPLen[(Modifiers >> 6) & 0x03];\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
+ Size = (UINTN)mJMPLen[(Modifiers >> 6) & 0x03];\r
\r
//\r
// Construct Disasm String\r
*DisasmString = EdbPreInstructionString ();\r
\r
EdbPrintInstructionName (L"JMP");\r
-// if (Modifiers & OPCODE_M_IMMDATA64) {\r
-// EdbPrintInstructionName (L"64");\r
-// } else {\r
-// EdbPrintInstructionName (L"32");\r
-// }\r
+ // if (Modifiers & OPCODE_M_IMMDATA64) {\r
+ // EdbPrintInstructionName (L"64");\r
+ // } else {\r
+ // EdbPrintInstructionName (L"32");\r
+ // }\r
if ((Modifiers & CONDITION_M_CONDITIONAL) != 0) {\r
if ((Modifiers & JMP_M_CS) != 0) {\r
EdbPrintInstructionName (L"cs");\r
\r
InstructionAddress += 2;\r
if ((Modifiers & OPCODE_M_IMMDATA64) != 0) {\r
- CopyMem (&Data64, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT64));\r
+ CopyMem (&Data64, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT64));\r
if ((Modifiers & OPCODE_M_IMMDATA) != 0) {\r
EdbPrintData64 (Data64);\r
} else {\r
return 0;\r
}\r
} else {\r
- CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT32));\r
+ CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT32));\r
EdbPrintRegister1 (Operands);\r
\r
if ((Operands & OPERAND_M_INDIRECT1) == 0) {\r
if ((Modifiers & OPCODE_M_IMMDATA) == 0) {\r
Data32 = 0;\r
}\r
+\r
EdbPrintImmDatan (Data32);\r
} else {\r
EdbPrintRawIndexData32 (Data32);\r
**/\r
UINTN\r
EdbDisasmJMP8 (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- UINT8 Modifiers;\r
+ UINT8 Modifiers;\r
\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_JMP8);\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_JMP8);\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
\r
//\r
// Construct Disasm String\r
**/\r
UINTN\r
EdbDisasmCALL (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- UINT8 Modifiers;\r
- UINT8 Operands;\r
- UINTN Size;\r
- UINT32 Data32;\r
- UINT64 Data64;\r
- UINT64 Ip;\r
- UINTN Result;\r
- EFI_PHYSICAL_ADDRESS SavedInstructionAddress;\r
-\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_CALL);\r
+ UINT8 Modifiers;\r
+ UINT8 Operands;\r
+ UINTN Size;\r
+ UINT32 Data32;\r
+ UINT64 Data64;\r
+ UINT64 Ip;\r
+ UINTN Result;\r
+ EFI_PHYSICAL_ADDRESS SavedInstructionAddress;\r
+\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_CALL);\r
SavedInstructionAddress = InstructionAddress;\r
\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
- Operands = GET_OPERANDS (InstructionAddress);\r
- Size = (UINTN)mJMPLen[(Modifiers >> 6) & 0x03];\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
+ Size = (UINTN)mJMPLen[(Modifiers >> 6) & 0x03];\r
\r
//\r
// Construct Disasm String\r
*DisasmString = EdbPreInstructionString ();\r
\r
EdbPrintInstructionName (L"CALL");\r
-// if (Modifiers & OPCODE_M_IMMDATA64) {\r
-// EdbPrintInstructionName (L"64");\r
-// } else {\r
-// EdbPrintInstructionName (L"32");\r
-// }\r
+ // if (Modifiers & OPCODE_M_IMMDATA64) {\r
+ // EdbPrintInstructionName (L"64");\r
+ // } else {\r
+ // EdbPrintInstructionName (L"32");\r
+ // }\r
if ((Operands & OPERAND_M_NATIVE_CALL) != 0) {\r
EdbPrintInstructionName (L"EX");\r
}\r
-// if ((Operands & OPERAND_M_RELATIVE_ADDR) == 0) {\r
-// EdbPrintInstructionName (L"a");\r
-// }\r
+\r
+ // if ((Operands & OPERAND_M_RELATIVE_ADDR) == 0) {\r
+ // EdbPrintInstructionName (L"a");\r
+ // }\r
\r
InstructionAddress += 2;\r
if ((Modifiers & OPCODE_M_IMMDATA64) != 0) {\r
- CopyMem (&Data64, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT64));\r
+ CopyMem (&Data64, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT64));\r
Ip = Data64;\r
if ((Modifiers & OPCODE_M_IMMDATA) != 0) {\r
Result = EdbFindAndPrintSymbol ((UINTN)Ip);\r
}\r
} else {\r
if ((Modifiers & OPCODE_M_IMMDATA) != 0) {\r
- CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT32));\r
+ CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT32));\r
} else {\r
Data32 = 0;\r
}\r
} else {\r
Result = EdbFindAndPrintSymbol ((UINTN)Ip);\r
}\r
+\r
if (Result == 0) {\r
EdbPrintRegister1 (Operands);\r
if ((Modifiers & OPCODE_M_IMMDATA) != 0) {\r
**/\r
UINTN\r
EdbDisasmRET (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_RET);\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_RET);\r
\r
if (*(UINT8 *)(UINTN)(InstructionAddress + 1) != 0) {\r
return 0;\r
**/\r
UINTN\r
EdbDisasmCMP (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- UINT8 Opcode;\r
- UINT8 Modifiers;\r
- UINT8 Operands;\r
- UINT16 Data16;\r
- UINTN Size;\r
+ UINT8 Opcode;\r
+ UINT8 Modifiers;\r
+ UINT8 Operands;\r
+ UINT16 Data16;\r
+ UINTN Size;\r
\r
ASSERT (\r
- (GET_OPCODE(InstructionAddress) == OPCODE_CMPEQ) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_CMPLTE) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_CMPGTE) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_CMPULTE) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_CMPUGTE)\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_CMPEQ) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_CMPLTE) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_CMPGTE) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_CMPULTE) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_CMPUGTE)\r
);\r
\r
- Opcode = GET_OPCODE (InstructionAddress);\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
- Operands = GET_OPERANDS (InstructionAddress);\r
+ Opcode = GET_OPCODE (InstructionAddress);\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
if ((Modifiers & OPCODE_M_IMMDATA) != 0) {\r
Size = 4;\r
} else {\r
*DisasmString = EdbPreInstructionString ();\r
\r
EdbPrintInstructionName (L"CMP");\r
-// if (Modifiers & OPCODE_M_64BIT) {\r
-// EdbPrintInstructionName (L"64");\r
-// } else {\r
-// EdbPrintInstructionName (L"32");\r
-// }\r
+ // if (Modifiers & OPCODE_M_64BIT) {\r
+ // EdbPrintInstructionName (L"64");\r
+ // } else {\r
+ // EdbPrintInstructionName (L"32");\r
+ // }\r
switch (Opcode) {\r
- case OPCODE_CMPEQ:\r
- EdbPrintInstructionName (L"eq");\r
- break;\r
- case OPCODE_CMPLTE:\r
- EdbPrintInstructionName (L"lte");\r
- break;\r
- case OPCODE_CMPGTE:\r
- EdbPrintInstructionName (L"gte");\r
- break;\r
- case OPCODE_CMPULTE:\r
- EdbPrintInstructionName (L"ulte");\r
- break;\r
- case OPCODE_CMPUGTE:\r
- EdbPrintInstructionName (L"ugte");\r
- break;\r
+ case OPCODE_CMPEQ:\r
+ EdbPrintInstructionName (L"eq");\r
+ break;\r
+ case OPCODE_CMPLTE:\r
+ EdbPrintInstructionName (L"lte");\r
+ break;\r
+ case OPCODE_CMPGTE:\r
+ EdbPrintInstructionName (L"gte");\r
+ break;\r
+ case OPCODE_CMPULTE:\r
+ EdbPrintInstructionName (L"ulte");\r
+ break;\r
+ case OPCODE_CMPUGTE:\r
+ EdbPrintInstructionName (L"ugte");\r
+ break;\r
}\r
\r
EdbPrintRegister1 (Operands);\r
EdbPrintRegister2 (Operands);\r
\r
if ((Modifiers & OPCODE_M_IMMDATA) != 0) {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
if ((Operands & OPERAND_M_INDIRECT2) != 0) {\r
EdbPrintRawIndexData16 (Data16);\r
} else {\r
**/\r
UINTN\r
EdbDisasmUnsignedDataManip (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- UINT8 Modifiers;\r
- UINT8 Opcode;\r
- UINT8 Operands;\r
- UINTN Size;\r
- UINT16 Data16;\r
+ UINT8 Modifiers;\r
+ UINT8 Opcode;\r
+ UINT8 Operands;\r
+ UINTN Size;\r
+ UINT16 Data16;\r
\r
ASSERT (\r
- (GET_OPCODE(InstructionAddress) == OPCODE_NOT) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_MULU) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_DIVU) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_MODU) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_AND) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_OR) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_XOR) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_SHL) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_SHR) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_EXTNDB) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_EXTNDW) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_EXTNDD)\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_NOT) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_MULU) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_DIVU) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_MODU) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_AND) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_OR) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_XOR) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_SHL) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_SHR) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_EXTNDB) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_EXTNDW) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_EXTNDD)\r
);\r
\r
- Opcode = GET_OPCODE (InstructionAddress);\r
- Operands = GET_OPERANDS (InstructionAddress);\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Opcode = GET_OPCODE (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
if ((Modifiers & DATAMANIP_M_IMMDATA) != 0) {\r
Size = 4;\r
} else {\r
*DisasmString = EdbPreInstructionString ();\r
\r
switch (Opcode) {\r
- case OPCODE_NOT:\r
- EdbPrintInstructionName (L"NOT");\r
- break;\r
- case OPCODE_MULU:\r
- EdbPrintInstructionName (L"MULU");\r
- break;\r
- case OPCODE_DIVU:\r
- EdbPrintInstructionName (L"DIVU");\r
- break;\r
- case OPCODE_MODU:\r
- EdbPrintInstructionName (L"MODU");\r
- break;\r
- case OPCODE_AND:\r
- EdbPrintInstructionName (L"AND");\r
- break;\r
- case OPCODE_OR:\r
- EdbPrintInstructionName (L"OR");\r
- break;\r
- case OPCODE_XOR:\r
- EdbPrintInstructionName (L"XOR");\r
- break;\r
- case OPCODE_SHL:\r
- EdbPrintInstructionName (L"SHL");\r
- break;\r
- case OPCODE_SHR:\r
- EdbPrintInstructionName (L"SHR");\r
- break;\r
- case OPCODE_EXTNDB:\r
- EdbPrintInstructionName (L"EXTNDB");\r
- break;\r
- case OPCODE_EXTNDW:\r
- EdbPrintInstructionName (L"EXTNDW");\r
- break;\r
- case OPCODE_EXTNDD:\r
- EdbPrintInstructionName (L"EXTNDD");\r
- break;\r
+ case OPCODE_NOT:\r
+ EdbPrintInstructionName (L"NOT");\r
+ break;\r
+ case OPCODE_MULU:\r
+ EdbPrintInstructionName (L"MULU");\r
+ break;\r
+ case OPCODE_DIVU:\r
+ EdbPrintInstructionName (L"DIVU");\r
+ break;\r
+ case OPCODE_MODU:\r
+ EdbPrintInstructionName (L"MODU");\r
+ break;\r
+ case OPCODE_AND:\r
+ EdbPrintInstructionName (L"AND");\r
+ break;\r
+ case OPCODE_OR:\r
+ EdbPrintInstructionName (L"OR");\r
+ break;\r
+ case OPCODE_XOR:\r
+ EdbPrintInstructionName (L"XOR");\r
+ break;\r
+ case OPCODE_SHL:\r
+ EdbPrintInstructionName (L"SHL");\r
+ break;\r
+ case OPCODE_SHR:\r
+ EdbPrintInstructionName (L"SHR");\r
+ break;\r
+ case OPCODE_EXTNDB:\r
+ EdbPrintInstructionName (L"EXTNDB");\r
+ break;\r
+ case OPCODE_EXTNDW:\r
+ EdbPrintInstructionName (L"EXTNDW");\r
+ break;\r
+ case OPCODE_EXTNDD:\r
+ EdbPrintInstructionName (L"EXTNDD");\r
+ break;\r
}\r
-// if (Modifiers & DATAMANIP_M_64) {\r
-// EdbPrintInstructionName (L"64");\r
-// } else {\r
-// EdbPrintInstructionName (L"32");\r
-// }\r
+\r
+ // if (Modifiers & DATAMANIP_M_64) {\r
+ // EdbPrintInstructionName (L"64");\r
+ // } else {\r
+ // EdbPrintInstructionName (L"32");\r
+ // }\r
\r
EdbPrintRegister1 (Operands);\r
EdbPrintComma ();\r
\r
InstructionAddress += 2;\r
if ((Modifiers & DATAMANIP_M_IMMDATA) != 0) {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
if ((Operands & OPERAND_M_INDIRECT2) != 0) {\r
EdbPrintRawIndexData16 (Data16);\r
} else {\r
**/\r
UINTN\r
EdbDisasmSignedDataManip (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- UINT8 Modifiers;\r
- UINT8 Opcode;\r
- UINT8 Operands;\r
- UINTN Size;\r
- UINT16 Data16;\r
+ UINT8 Modifiers;\r
+ UINT8 Opcode;\r
+ UINT8 Operands;\r
+ UINTN Size;\r
+ UINT16 Data16;\r
\r
ASSERT (\r
- (GET_OPCODE(InstructionAddress) == OPCODE_NEG) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_ADD) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_SUB) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_MUL) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_DIV) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_MOD) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_ASHR)\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_NEG) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_ADD) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_SUB) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_MUL) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_DIV) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_MOD) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_ASHR)\r
);\r
\r
- Opcode = GET_OPCODE (InstructionAddress);\r
- Operands = GET_OPERANDS (InstructionAddress);\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Opcode = GET_OPCODE (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
if ((Modifiers & DATAMANIP_M_IMMDATA) != 0) {\r
Size = 4;\r
} else {\r
*DisasmString = EdbPreInstructionString ();\r
\r
switch (Opcode) {\r
- case OPCODE_NEG:\r
- EdbPrintInstructionName (L"NEG");\r
- break;\r
- case OPCODE_ADD:\r
- EdbPrintInstructionName (L"ADD");\r
- break;\r
- case OPCODE_SUB:\r
- EdbPrintInstructionName (L"SUB");\r
- break;\r
- case OPCODE_MUL:\r
- EdbPrintInstructionName (L"MUL");\r
- break;\r
- case OPCODE_DIV:\r
- EdbPrintInstructionName (L"DIV");\r
- break;\r
- case OPCODE_MOD:\r
- EdbPrintInstructionName (L"MOD");\r
- break;\r
- case OPCODE_ASHR:\r
- EdbPrintInstructionName (L"ASHR");\r
- break;\r
+ case OPCODE_NEG:\r
+ EdbPrintInstructionName (L"NEG");\r
+ break;\r
+ case OPCODE_ADD:\r
+ EdbPrintInstructionName (L"ADD");\r
+ break;\r
+ case OPCODE_SUB:\r
+ EdbPrintInstructionName (L"SUB");\r
+ break;\r
+ case OPCODE_MUL:\r
+ EdbPrintInstructionName (L"MUL");\r
+ break;\r
+ case OPCODE_DIV:\r
+ EdbPrintInstructionName (L"DIV");\r
+ break;\r
+ case OPCODE_MOD:\r
+ EdbPrintInstructionName (L"MOD");\r
+ break;\r
+ case OPCODE_ASHR:\r
+ EdbPrintInstructionName (L"ASHR");\r
+ break;\r
}\r
-// if (Modifiers & DATAMANIP_M_64) {\r
-// EdbPrintInstructionName (L"64");\r
-// } else {\r
-// EdbPrintInstructionName (L"32");\r
-// }\r
+\r
+ // if (Modifiers & DATAMANIP_M_64) {\r
+ // EdbPrintInstructionName (L"64");\r
+ // } else {\r
+ // EdbPrintInstructionName (L"32");\r
+ // }\r
\r
EdbPrintRegister1 (Operands);\r
EdbPrintComma ();\r
\r
InstructionAddress += 2;\r
if ((Modifiers & DATAMANIP_M_IMMDATA) != 0) {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
if ((Operands & OPERAND_M_INDIRECT2) != 0) {\r
EdbPrintRawIndexData16 (Data16);\r
} else {\r
**/\r
UINTN\r
EdbDisasmMOVxx (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
UINT8 Modifiers;\r
UINT64 Data64;\r
\r
ASSERT (\r
- (GET_OPCODE(InstructionAddress) == OPCODE_MOVBW) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_MOVWW) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_MOVDW) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_MOVQW) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_MOVBD) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_MOVWD) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_MOVDD) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_MOVQD) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_MOVQQ) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_MOVNW) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_MOVND)\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_MOVBW) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_MOVWW) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_MOVDW) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_MOVQW) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_MOVBD) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_MOVWD) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_MOVDD) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_MOVQD) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_MOVQQ) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_MOVNW) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_MOVND)\r
);\r
\r
- Opcode = GET_OPCODE (InstructionAddress);\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
- Operands = GET_OPERANDS (InstructionAddress);\r
- Size = 2;\r
+ Opcode = GET_OPCODE (InstructionAddress);\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
+ Size = 2;\r
if ((Modifiers & (OPCODE_M_IMMED_OP1 | OPCODE_M_IMMED_OP2)) != 0) {\r
if ((Opcode <= OPCODE_MOVQW) || (Opcode == OPCODE_MOVNW)) {\r
if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {\r
Size += 2;\r
}\r
+\r
if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {\r
Size += 2;\r
}\r
if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {\r
Size += 4;\r
}\r
+\r
if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {\r
Size += 4;\r
}\r
if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {\r
Size += 8;\r
}\r
+\r
if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {\r
Size += 8;\r
}\r
\r
EdbPrintInstructionName (L"MOV");\r
switch (Opcode) {\r
- case OPCODE_MOVBW:\r
- EdbPrintInstructionName (L"bw");\r
- break;\r
- case OPCODE_MOVWW:\r
- EdbPrintInstructionName (L"ww");\r
- break;\r
- case OPCODE_MOVDW:\r
- EdbPrintInstructionName (L"dw");\r
- break;\r
- case OPCODE_MOVQW:\r
- EdbPrintInstructionName (L"qw");\r
- break;\r
- case OPCODE_MOVBD:\r
- EdbPrintInstructionName (L"bd");\r
- break;\r
- case OPCODE_MOVWD:\r
- EdbPrintInstructionName (L"wd");\r
- break;\r
- case OPCODE_MOVDD:\r
- EdbPrintInstructionName (L"dd");\r
- break;\r
- case OPCODE_MOVQD:\r
- EdbPrintInstructionName (L"qd");\r
- break;\r
- case OPCODE_MOVQQ:\r
- EdbPrintInstructionName (L"qq");\r
- break;\r
- case OPCODE_MOVNW:\r
- EdbPrintInstructionName (L"nw");\r
- break;\r
- case OPCODE_MOVND:\r
- EdbPrintInstructionName (L"nd");\r
- break;\r
+ case OPCODE_MOVBW:\r
+ EdbPrintInstructionName (L"bw");\r
+ break;\r
+ case OPCODE_MOVWW:\r
+ EdbPrintInstructionName (L"ww");\r
+ break;\r
+ case OPCODE_MOVDW:\r
+ EdbPrintInstructionName (L"dw");\r
+ break;\r
+ case OPCODE_MOVQW:\r
+ EdbPrintInstructionName (L"qw");\r
+ break;\r
+ case OPCODE_MOVBD:\r
+ EdbPrintInstructionName (L"bd");\r
+ break;\r
+ case OPCODE_MOVWD:\r
+ EdbPrintInstructionName (L"wd");\r
+ break;\r
+ case OPCODE_MOVDD:\r
+ EdbPrintInstructionName (L"dd");\r
+ break;\r
+ case OPCODE_MOVQD:\r
+ EdbPrintInstructionName (L"qd");\r
+ break;\r
+ case OPCODE_MOVQQ:\r
+ EdbPrintInstructionName (L"qq");\r
+ break;\r
+ case OPCODE_MOVNW:\r
+ EdbPrintInstructionName (L"nw");\r
+ break;\r
+ case OPCODE_MOVND:\r
+ EdbPrintInstructionName (L"nd");\r
+ break;\r
}\r
\r
EdbPrintRegister1 (Operands);\r
InstructionAddress += 2;\r
if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {\r
if ((Opcode <= OPCODE_MOVQW) || (Opcode == OPCODE_MOVNW)) {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
InstructionAddress += 2;\r
EdbPrintRawIndexData16 (Data16);\r
} else if ((Opcode <= OPCODE_MOVQD) || (Opcode == OPCODE_MOVND)) {\r
- CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT32));\r
+ CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT32));\r
InstructionAddress += 4;\r
EdbPrintRawIndexData32 (Data32);\r
} else if (Opcode == OPCODE_MOVQQ) {\r
- CopyMem (&Data64, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT64));\r
+ CopyMem (&Data64, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT64));\r
InstructionAddress += 8;\r
EdbPrintRawIndexData64 (Data64);\r
}\r
\r
if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {\r
if ((Opcode <= OPCODE_MOVQW) || (Opcode == OPCODE_MOVNW)) {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
EdbPrintRawIndexData16 (Data16);\r
} else if ((Opcode <= OPCODE_MOVQD) || (Opcode == OPCODE_MOVND)) {\r
- CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT32));\r
+ CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT32));\r
EdbPrintRawIndexData32 (Data32);\r
} else if (Opcode == OPCODE_MOVQQ) {\r
- CopyMem (&Data64, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT64));\r
+ CopyMem (&Data64, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT64));\r
EdbPrintRawIndexData64 (Data64);\r
}\r
}\r
**/\r
UINTN\r
EdbDisasmMOVsnw (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- UINT8 Modifiers;\r
- UINT8 Operands;\r
- UINTN Size;\r
- UINT16 Data16;\r
+ UINT8 Modifiers;\r
+ UINT8 Operands;\r
+ UINTN Size;\r
+ UINT16 Data16;\r
\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_MOVSNW);\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_MOVSNW);\r
\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
- Operands = GET_OPERANDS (InstructionAddress);\r
- Size = 2;\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
+ Size = 2;\r
if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {\r
Size += 2;\r
}\r
+\r
if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {\r
Size += 2;\r
}\r
\r
InstructionAddress += 2;\r
if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
InstructionAddress += 2;\r
EdbPrintRawIndexData16 (Data16);\r
}\r
EdbPrintRegister2 (Operands);\r
\r
if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
if ((Operands & OPERAND_M_INDIRECT2) != 0) {\r
EdbPrintRawIndexData16 (Data16);\r
} else {\r
**/\r
UINTN\r
EdbDisasmMOVsnd (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- UINT8 Modifiers;\r
- UINT8 Operands;\r
- UINTN Size;\r
- UINT32 Data32;\r
+ UINT8 Modifiers;\r
+ UINT8 Operands;\r
+ UINTN Size;\r
+ UINT32 Data32;\r
\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_MOVSND);\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_MOVSND);\r
\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
- Operands = GET_OPERANDS (InstructionAddress);\r
- Size = 2;\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
+ Size = 2;\r
if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {\r
Size += 4;\r
}\r
+\r
if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {\r
Size += 4;\r
}\r
\r
InstructionAddress += 2;\r
if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {\r
- CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT32));\r
+ CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT32));\r
InstructionAddress += 4;\r
EdbPrintRawIndexData32 (Data32);\r
}\r
EdbPrintRegister2 (Operands);\r
\r
if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {\r
- CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT32));\r
+ CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT32));\r
if ((Operands & OPERAND_M_INDIRECT2) != 0) {\r
EdbPrintRawIndexData32 (Data32);\r
} else {\r
**/\r
UINTN\r
EdbDisasmLOADSP (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
UINT8 Operands;\r
\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_LOADSP);\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_LOADSP);\r
\r
- Operands = GET_OPERANDS (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
\r
//\r
// Construct Disasm String\r
**/\r
UINTN\r
EdbDisasmSTORESP (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
UINT8 Operands;\r
\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_STORESP);\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_STORESP);\r
\r
- Operands = GET_OPERANDS (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
\r
//\r
// Construct Disasm String\r
return 2;\r
}\r
\r
-\r
/**\r
\r
Disasm instruction - PUSH.\r
**/\r
UINTN\r
EdbDisasmPUSH (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- UINT8 Modifiers;\r
- UINT8 Operands;\r
- UINTN Size;\r
- UINT16 Data16;\r
+ UINT8 Modifiers;\r
+ UINT8 Operands;\r
+ UINTN Size;\r
+ UINT16 Data16;\r
\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_PUSH);\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_PUSH);\r
\r
- Operands = GET_OPERANDS (InstructionAddress);\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {\r
Size = 4;\r
} else {\r
*DisasmString = EdbPreInstructionString ();\r
\r
EdbPrintInstructionName (L"PUSH");\r
-// if (Modifiers & PUSHPOP_M_64) {\r
-// EdbPrintInstructionName (L"64");\r
-// } else {\r
-// EdbPrintInstructionName (L"32");\r
-// }\r
+ // if (Modifiers & PUSHPOP_M_64) {\r
+ // EdbPrintInstructionName (L"64");\r
+ // } else {\r
+ // EdbPrintInstructionName (L"32");\r
+ // }\r
\r
EdbPrintRegister1 (Operands);\r
\r
InstructionAddress += 2;\r
if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
if ((Operands & OPERAND_M_INDIRECT1) != 0) {\r
EdbPrintRawIndexData16 (Data16);\r
} else {\r
**/\r
UINTN\r
EdbDisasmPOP (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- UINT8 Modifiers;\r
- UINT8 Operands;\r
- UINTN Size;\r
- UINT16 Data16;\r
+ UINT8 Modifiers;\r
+ UINT8 Operands;\r
+ UINTN Size;\r
+ UINT16 Data16;\r
\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_POP);\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_POP);\r
\r
- Operands = GET_OPERANDS (InstructionAddress);\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {\r
Size = 4;\r
} else {\r
*DisasmString = EdbPreInstructionString ();\r
\r
EdbPrintInstructionName (L"POP");\r
-// if (Modifiers & PUSHPOP_M_64) {\r
-// EdbPrintInstructionName (L"64");\r
-// } else {\r
-// EdbPrintInstructionName (L"32");\r
-// }\r
+ // if (Modifiers & PUSHPOP_M_64) {\r
+ // EdbPrintInstructionName (L"64");\r
+ // } else {\r
+ // EdbPrintInstructionName (L"32");\r
+ // }\r
\r
EdbPrintRegister1 (Operands);\r
\r
InstructionAddress += 2;\r
if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
if ((Operands & OPERAND_M_INDIRECT1) != 0) {\r
EdbPrintRawIndexData16 (Data16);\r
} else {\r
**/\r
UINTN\r
EdbDisasmCMPI (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- UINT8 Modifiers;\r
- UINT8 Opcode;\r
- UINT8 Operands;\r
- UINT16 Data16;\r
- UINT32 Data32;\r
- UINTN Size;\r
+ UINT8 Modifiers;\r
+ UINT8 Opcode;\r
+ UINT8 Operands;\r
+ UINT16 Data16;\r
+ UINT32 Data32;\r
+ UINTN Size;\r
\r
ASSERT (\r
- (GET_OPCODE(InstructionAddress) == OPCODE_CMPIEQ) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_CMPILTE) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_CMPIGTE) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_CMPIULTE) ||\r
- (GET_OPCODE(InstructionAddress) == OPCODE_CMPIUGTE)\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_CMPIEQ) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_CMPILTE) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_CMPIGTE) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_CMPIULTE) ||\r
+ (GET_OPCODE (InstructionAddress) == OPCODE_CMPIUGTE)\r
);\r
\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
- Opcode = GET_OPCODE (InstructionAddress);\r
- Operands = GET_OPERANDS (InstructionAddress);\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Opcode = GET_OPCODE (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
\r
if ((Operands & 0xE0) != 0) {\r
return 0;\r
if ((Operands & OPERAND_M_CMPI_INDEX) != 0) {\r
Size += 2;\r
}\r
+\r
if ((Modifiers & OPCODE_M_CMPI32_DATA) != 0) {\r
Size += 4;\r
} else {\r
*DisasmString = EdbPreInstructionString ();\r
\r
EdbPrintInstructionName (L"CMPI");\r
-// if (Modifiers & OPCODE_M_CMPI64) {\r
-// EdbPrintInstructionName (L"64");\r
-// } else {\r
-// EdbPrintInstructionName (L"32");\r
-// }\r
+ // if (Modifiers & OPCODE_M_CMPI64) {\r
+ // EdbPrintInstructionName (L"64");\r
+ // } else {\r
+ // EdbPrintInstructionName (L"32");\r
+ // }\r
if ((Modifiers & OPCODE_M_CMPI32_DATA) != 0) {\r
EdbPrintInstructionName (L"d");\r
} else {\r
EdbPrintInstructionName (L"w");\r
}\r
+\r
switch (Opcode) {\r
- case OPCODE_CMPIEQ:\r
- EdbPrintInstructionName (L"eq");\r
- break;\r
- case OPCODE_CMPILTE:\r
- EdbPrintInstructionName (L"lte");\r
- break;\r
- case OPCODE_CMPIGTE:\r
- EdbPrintInstructionName (L"gte");\r
- break;\r
- case OPCODE_CMPIULTE:\r
- EdbPrintInstructionName (L"ulte");\r
- break;\r
- case OPCODE_CMPIUGTE:\r
- EdbPrintInstructionName (L"ugte");\r
- break;\r
+ case OPCODE_CMPIEQ:\r
+ EdbPrintInstructionName (L"eq");\r
+ break;\r
+ case OPCODE_CMPILTE:\r
+ EdbPrintInstructionName (L"lte");\r
+ break;\r
+ case OPCODE_CMPIGTE:\r
+ EdbPrintInstructionName (L"gte");\r
+ break;\r
+ case OPCODE_CMPIULTE:\r
+ EdbPrintInstructionName (L"ulte");\r
+ break;\r
+ case OPCODE_CMPIUGTE:\r
+ EdbPrintInstructionName (L"ugte");\r
+ break;\r
}\r
\r
EdbPrintRegister1 (Operands);\r
\r
InstructionAddress += 2;\r
if ((Operands & OPERAND_M_CMPI_INDEX) != 0) {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
InstructionAddress += 2;\r
EdbPrintRawIndexData16 (Data16);\r
}\r
EdbPrintComma ();\r
\r
if ((Modifiers & OPCODE_M_CMPI32_DATA) != 0) {\r
- CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT32));\r
+ CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT32));\r
EdbPrintDatan (Data32);\r
} else {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
EdbPrintDatan (Data16);\r
}\r
\r
**/\r
UINTN\r
EdbDisasmPUSHn (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- UINT8 Modifiers;\r
- UINT8 Operands;\r
- UINTN Size;\r
- UINT16 Data16;\r
+ UINT8 Modifiers;\r
+ UINT8 Operands;\r
+ UINTN Size;\r
+ UINT16 Data16;\r
\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_PUSHN);\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_PUSHN);\r
\r
- Operands = GET_OPERANDS (InstructionAddress);\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {\r
Size = 4;\r
} else {\r
\r
InstructionAddress += 2;\r
if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
if ((Operands & OPERAND_M_INDIRECT1) != 0) {\r
EdbPrintRawIndexData16 (Data16);\r
} else {\r
**/\r
UINTN\r
EdbDisasmPOPn (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- UINT8 Modifiers;\r
- UINT8 Operands;\r
- UINTN Size;\r
- UINT16 Data16;\r
+ UINT8 Modifiers;\r
+ UINT8 Operands;\r
+ UINTN Size;\r
+ UINT16 Data16;\r
\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_POPN);\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_POPN);\r
\r
- Operands = GET_OPERANDS (InstructionAddress);\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {\r
Size = 4;\r
} else {\r
\r
InstructionAddress += 2;\r
if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
if ((Operands & OPERAND_M_INDIRECT1) != 0) {\r
EdbPrintRawIndexData16 (Data16);\r
} else {\r
**/\r
UINTN\r
EdbDisasmMOVI (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- UINT8 Modifiers;\r
- UINT8 Operands;\r
- UINTN Size;\r
- UINT16 Data16;\r
- UINT32 Data32;\r
- UINT64 Data64;\r
+ UINT8 Modifiers;\r
+ UINT8 Operands;\r
+ UINTN Size;\r
+ UINT16 Data16;\r
+ UINT32 Data32;\r
+ UINT64 Data64;\r
\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_MOVI);\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_MOVI);\r
\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
- Operands = GET_OPERANDS (InstructionAddress);\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
\r
if ((Operands & MOVI_M_IMMDATA) != 0) {\r
- Size = 4;\r
+ Size = 4;\r
} else {\r
- Size = 2;\r
+ Size = 2;\r
}\r
+\r
if ((Modifiers & MOVI_M_DATAWIDTH) == MOVI_DATAWIDTH16) {\r
Size += 2;\r
} else if ((Modifiers & MOVI_M_DATAWIDTH) == MOVI_DATAWIDTH32) {\r
\r
EdbPrintInstructionName (L"MOVI");\r
switch (Operands & MOVI_M_MOVEWIDTH) {\r
- case MOVI_MOVEWIDTH8:\r
- EdbPrintInstructionName (L"b");\r
- break;\r
- case MOVI_MOVEWIDTH16:\r
- EdbPrintInstructionName (L"w");\r
- break;\r
- case MOVI_MOVEWIDTH32:\r
- EdbPrintInstructionName (L"d");\r
- break;\r
- case MOVI_MOVEWIDTH64:\r
- EdbPrintInstructionName (L"q");\r
- break;\r
+ case MOVI_MOVEWIDTH8:\r
+ EdbPrintInstructionName (L"b");\r
+ break;\r
+ case MOVI_MOVEWIDTH16:\r
+ EdbPrintInstructionName (L"w");\r
+ break;\r
+ case MOVI_MOVEWIDTH32:\r
+ EdbPrintInstructionName (L"d");\r
+ break;\r
+ case MOVI_MOVEWIDTH64:\r
+ EdbPrintInstructionName (L"q");\r
+ break;\r
}\r
+\r
switch (Modifiers & MOVI_M_DATAWIDTH) {\r
- case MOVI_DATAWIDTH16:\r
- EdbPrintInstructionName (L"w");\r
- break;\r
- case MOVI_DATAWIDTH32:\r
- EdbPrintInstructionName (L"d");\r
- break;\r
- case MOVI_DATAWIDTH64:\r
- EdbPrintInstructionName (L"q");\r
- break;\r
+ case MOVI_DATAWIDTH16:\r
+ EdbPrintInstructionName (L"w");\r
+ break;\r
+ case MOVI_DATAWIDTH32:\r
+ EdbPrintInstructionName (L"d");\r
+ break;\r
+ case MOVI_DATAWIDTH64:\r
+ EdbPrintInstructionName (L"q");\r
+ break;\r
}\r
\r
EdbPrintRegister1 (Operands);\r
\r
InstructionAddress += 2;\r
if ((Operands & MOVI_M_IMMDATA) != 0) {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
InstructionAddress += 2;\r
EdbPrintRawIndexData16 (Data16);\r
}\r
EdbPrintComma ();\r
\r
switch (Modifiers & MOVI_M_DATAWIDTH) {\r
- case MOVI_DATAWIDTH16:\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
- EdbPrintDatan (Data16);\r
- break;\r
- case MOVI_DATAWIDTH32:\r
- CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT32));\r
- EdbPrintDatan (Data32);\r
- break;\r
- case MOVI_DATAWIDTH64:\r
- CopyMem (&Data64, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT64));\r
- EdbPrintData64n (Data64);\r
- break;\r
+ case MOVI_DATAWIDTH16:\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
+ EdbPrintDatan (Data16);\r
+ break;\r
+ case MOVI_DATAWIDTH32:\r
+ CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT32));\r
+ EdbPrintDatan (Data32);\r
+ break;\r
+ case MOVI_DATAWIDTH64:\r
+ CopyMem (&Data64, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT64));\r
+ EdbPrintData64n (Data64);\r
+ break;\r
}\r
\r
EdbPostInstructionString ();\r
**/\r
UINTN\r
EdbDisasmMOVIn (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- UINT8 Modifiers;\r
- UINT8 Operands;\r
- UINTN Size;\r
- UINT16 Data16;\r
- UINT32 Data32;\r
- UINT64 Data64;\r
+ UINT8 Modifiers;\r
+ UINT8 Operands;\r
+ UINTN Size;\r
+ UINT16 Data16;\r
+ UINT32 Data32;\r
+ UINT64 Data64;\r
\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_MOVIN);\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_MOVIN);\r
\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
- Operands = GET_OPERANDS (InstructionAddress);\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
\r
if ((Operands & MOVI_M_IMMDATA) != 0) {\r
- Size = 4;\r
+ Size = 4;\r
} else {\r
- Size = 2;\r
+ Size = 2;\r
}\r
+\r
if ((Modifiers & MOVI_M_DATAWIDTH) == MOVI_DATAWIDTH16) {\r
Size += 2;\r
} else if ((Modifiers & MOVI_M_DATAWIDTH) == MOVI_DATAWIDTH32) {\r
\r
EdbPrintInstructionName (L"MOVIn");\r
switch (Modifiers & MOVI_M_DATAWIDTH) {\r
- case MOVI_DATAWIDTH16:\r
- EdbPrintInstructionName (L"w");\r
- break;\r
- case MOVI_DATAWIDTH32:\r
- EdbPrintInstructionName (L"d");\r
- break;\r
- case MOVI_DATAWIDTH64:\r
- EdbPrintInstructionName (L"q");\r
- break;\r
+ case MOVI_DATAWIDTH16:\r
+ EdbPrintInstructionName (L"w");\r
+ break;\r
+ case MOVI_DATAWIDTH32:\r
+ EdbPrintInstructionName (L"d");\r
+ break;\r
+ case MOVI_DATAWIDTH64:\r
+ EdbPrintInstructionName (L"q");\r
+ break;\r
}\r
\r
EdbPrintRegister1 (Operands);\r
\r
InstructionAddress += 2;\r
if ((Operands & MOVI_M_IMMDATA) != 0) {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
InstructionAddress += 2;\r
EdbPrintRawIndexData16 (Data16);\r
}\r
EdbPrintComma ();\r
\r
switch (Modifiers & MOVI_M_DATAWIDTH) {\r
- case MOVI_DATAWIDTH16:\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
- EdbPrintRawIndexData16 (Data16);\r
- break;\r
- case MOVI_DATAWIDTH32:\r
- CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT32));\r
- EdbPrintRawIndexData32 (Data32);\r
- break;\r
- case MOVI_DATAWIDTH64:\r
- CopyMem (&Data64, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT64));\r
- EdbPrintRawIndexData64 (Data64);\r
- break;\r
+ case MOVI_DATAWIDTH16:\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
+ EdbPrintRawIndexData16 (Data16);\r
+ break;\r
+ case MOVI_DATAWIDTH32:\r
+ CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT32));\r
+ EdbPrintRawIndexData32 (Data32);\r
+ break;\r
+ case MOVI_DATAWIDTH64:\r
+ CopyMem (&Data64, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT64));\r
+ EdbPrintRawIndexData64 (Data64);\r
+ break;\r
}\r
\r
EdbPostInstructionString ();\r
**/\r
UINTN\r
EdbDisasmMOVREL (\r
- IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
- IN EFI_SYSTEM_CONTEXT SystemContext,\r
- OUT CHAR16 **DisasmString\r
+ IN EFI_PHYSICAL_ADDRESS InstructionAddress,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ OUT CHAR16 **DisasmString\r
)\r
{\r
- UINT8 Modifiers;\r
- UINT8 Operands;\r
- UINTN Size;\r
- UINT16 Data16;\r
- UINT32 Data32;\r
- UINT64 Data64;\r
- UINTN Result;\r
- EFI_PHYSICAL_ADDRESS SavedInstructionAddress;\r
-\r
- ASSERT (GET_OPCODE(InstructionAddress) == OPCODE_MOVREL);\r
+ UINT8 Modifiers;\r
+ UINT8 Operands;\r
+ UINTN Size;\r
+ UINT16 Data16;\r
+ UINT32 Data32;\r
+ UINT64 Data64;\r
+ UINTN Result;\r
+ EFI_PHYSICAL_ADDRESS SavedInstructionAddress;\r
+\r
+ ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_MOVREL);\r
SavedInstructionAddress = InstructionAddress;\r
\r
- Modifiers = GET_MODIFIERS (InstructionAddress);\r
- Operands = GET_OPERANDS (InstructionAddress);\r
+ Modifiers = GET_MODIFIERS (InstructionAddress);\r
+ Operands = GET_OPERANDS (InstructionAddress);\r
\r
if ((Operands & MOVI_M_IMMDATA) != 0) {\r
- Size = 4;\r
+ Size = 4;\r
} else {\r
- Size = 2;\r
+ Size = 2;\r
}\r
+\r
if ((Modifiers & MOVI_M_DATAWIDTH) == MOVI_DATAWIDTH16) {\r
Size += 2;\r
} else if ((Modifiers & MOVI_M_DATAWIDTH) == MOVI_DATAWIDTH32) {\r
\r
EdbPrintInstructionName (L"MOVrel");\r
switch (Modifiers & MOVI_M_DATAWIDTH) {\r
- case MOVI_DATAWIDTH16:\r
- EdbPrintInstructionName (L"w");\r
- break;\r
- case MOVI_DATAWIDTH32:\r
- EdbPrintInstructionName (L"d");\r
- break;\r
- case MOVI_DATAWIDTH64:\r
- EdbPrintInstructionName (L"q");\r
- break;\r
+ case MOVI_DATAWIDTH16:\r
+ EdbPrintInstructionName (L"w");\r
+ break;\r
+ case MOVI_DATAWIDTH32:\r
+ EdbPrintInstructionName (L"d");\r
+ break;\r
+ case MOVI_DATAWIDTH64:\r
+ EdbPrintInstructionName (L"q");\r
+ break;\r
}\r
\r
EdbPrintRegister1 (Operands);\r
\r
InstructionAddress += 2;\r
if ((Operands & MOVI_M_IMMDATA) != 0) {\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
InstructionAddress += 2;\r
EdbPrintRawIndexData16 (Data16);\r
}\r
EdbPrintComma ();\r
\r
switch (Modifiers & MOVI_M_DATAWIDTH) {\r
- case MOVI_DATAWIDTH16:\r
- CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT16));\r
- Result = EdbFindAndPrintSymbol ((UINTN)(SavedInstructionAddress + Size + (INT16)Data16));\r
- if (Result == 0) {\r
- EdbPrintData16 (Data16);\r
- }\r
- break;\r
- case MOVI_DATAWIDTH32:\r
- CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT32));\r
- Result = EdbFindAndPrintSymbol ((UINTN)(SavedInstructionAddress + Size + (INT32)Data32));\r
- if (Result == 0) {\r
- EdbPrintData32 (Data32);\r
- }\r
- break;\r
- case MOVI_DATAWIDTH64:\r
- CopyMem (&Data64, (VOID *)(UINTN)(InstructionAddress), sizeof(UINT64));\r
- if (sizeof(UINTN) == sizeof(UINT64)) {\r
- Result = EdbFindAndPrintSymbol ((UINTN)(SavedInstructionAddress + Size + (INT64)Data64));\r
- } else {\r
- Result = 0;\r
- }\r
- if (Result == 0) {\r
- EdbPrintData64 (Data64);\r
- }\r
- break;\r
+ case MOVI_DATAWIDTH16:\r
+ CopyMem (&Data16, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT16));\r
+ Result = EdbFindAndPrintSymbol ((UINTN)(SavedInstructionAddress + Size + (INT16)Data16));\r
+ if (Result == 0) {\r
+ EdbPrintData16 (Data16);\r
+ }\r
+\r
+ break;\r
+ case MOVI_DATAWIDTH32:\r
+ CopyMem (&Data32, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT32));\r
+ Result = EdbFindAndPrintSymbol ((UINTN)(SavedInstructionAddress + Size + (INT32)Data32));\r
+ if (Result == 0) {\r
+ EdbPrintData32 (Data32);\r
+ }\r
+\r
+ break;\r
+ case MOVI_DATAWIDTH64:\r
+ CopyMem (&Data64, (VOID *)(UINTN)(InstructionAddress), sizeof (UINT64));\r
+ if (sizeof (UINTN) == sizeof (UINT64)) {\r
+ Result = EdbFindAndPrintSymbol ((UINTN)(SavedInstructionAddress + Size + (INT64)Data64));\r
+ } else {\r
+ Result = 0;\r
+ }\r
+\r
+ if (Result == 0) {\r
+ EdbPrintData64 (Data64);\r
+ }\r
+\r
+ break;\r
}\r
\r
EdbPostInstructionString ();\r