14#define EDB_DISASM_DEFINE(func) \
17 IN EFI_PHYSICAL_ADDRESS InstructionAddress, \
18 IN EFI_SYSTEM_CONTEXT SystemContext, \
19 OUT CHAR16 **DisasmString \
47EDB_DISASM_INSTRUCTION mEdbDisasmInstructionTable[] = {
123 OUT CHAR16 **DisasmString
126 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_BREAK);
128 if (*(UINT8 *)(
UINTN)(InstructionAddress + 1) > 6) {
135 if (DisasmString !=
NULL) {
147extern CONST UINT8 mJMPLen[];
164 OUT CHAR16 **DisasmString
173 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_JMP);
175 Modifiers = GET_MODIFIERS (InstructionAddress);
176 Operands = GET_OPERANDS (InstructionAddress);
177 Size = (
UINTN)mJMPLen[(Modifiers >> 6) & 0x03];
182 if (DisasmString !=
NULL) {
191 if ((Modifiers & CONDITION_M_CONDITIONAL) != 0) {
192 if ((Modifiers & JMP_M_CS) != 0) {
199 InstructionAddress += 2;
200 if ((Modifiers & OPCODE_M_IMMDATA64) != 0) {
201 CopyMem (&Data64, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT64));
202 if ((Modifiers & OPCODE_M_IMMDATA) != 0) {
208 CopyMem (&Data32, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT32));
211 if ((Operands & OPERAND_M_INDIRECT1) == 0) {
212 if ((Modifiers & OPCODE_M_IMMDATA) == 0) {
243 OUT CHAR16 **DisasmString
248 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_JMP8);
249 Modifiers = GET_MODIFIERS (InstructionAddress);
254 if (DisasmString !=
NULL) {
258 if ((Modifiers & CONDITION_M_CONDITIONAL) != 0) {
259 if ((Modifiers & JMP_M_CS) != 0) {
289 OUT CHAR16 **DisasmString
301 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_CALL);
302 SavedInstructionAddress = InstructionAddress;
304 Modifiers = GET_MODIFIERS (InstructionAddress);
305 Operands = GET_OPERANDS (InstructionAddress);
306 Size = (
UINTN)mJMPLen[(Modifiers >> 6) & 0x03];
311 if (DisasmString !=
NULL) {
320 if ((Operands & OPERAND_M_NATIVE_CALL) != 0) {
328 InstructionAddress += 2;
329 if ((Modifiers & OPCODE_M_IMMDATA64) != 0) {
330 CopyMem (&Data64, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT64));
332 if ((Modifiers & OPCODE_M_IMMDATA) != 0) {
341 if ((Modifiers & OPCODE_M_IMMDATA) != 0) {
342 CopyMem (&Data32, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT32));
347 if ((Operands & OPERAND_M_OP1) == 0) {
353 if ((Operands & OPERAND_M_INDIRECT1) == 0) {
354 if ((Operands & OPERAND_M_RELATIVE_ADDR) != 0) {
362 if ((Modifiers & OPCODE_M_IMMDATA) != 0) {
368 if ((Modifiers & OPCODE_M_IMMDATA) != 0) {
395 OUT CHAR16 **DisasmString
398 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_RET);
400 if (*(UINT8 *)(
UINTN)(InstructionAddress + 1) != 0) {
407 if (DisasmString !=
NULL) {
433 OUT CHAR16 **DisasmString
443 (GET_OPCODE (InstructionAddress) == OPCODE_CMPEQ) ||
444 (GET_OPCODE (InstructionAddress) == OPCODE_CMPLTE) ||
445 (GET_OPCODE (InstructionAddress) == OPCODE_CMPGTE) ||
446 (GET_OPCODE (InstructionAddress) == OPCODE_CMPULTE) ||
447 (GET_OPCODE (InstructionAddress) == OPCODE_CMPUGTE)
450 Opcode = GET_OPCODE (InstructionAddress);
451 Modifiers = GET_MODIFIERS (InstructionAddress);
452 Operands = GET_OPERANDS (InstructionAddress);
453 if ((Modifiers & OPCODE_M_IMMDATA) != 0) {
462 if (DisasmString !=
NULL) {
490 InstructionAddress += 2;
495 if ((Modifiers & OPCODE_M_IMMDATA) != 0) {
496 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
497 if ((Operands & OPERAND_M_INDIRECT2) != 0) {
525 OUT CHAR16 **DisasmString
535 (GET_OPCODE (InstructionAddress) == OPCODE_NOT) ||
536 (GET_OPCODE (InstructionAddress) == OPCODE_MULU) ||
537 (GET_OPCODE (InstructionAddress) == OPCODE_DIVU) ||
538 (GET_OPCODE (InstructionAddress) == OPCODE_MODU) ||
539 (GET_OPCODE (InstructionAddress) == OPCODE_AND) ||
540 (GET_OPCODE (InstructionAddress) == OPCODE_OR) ||
541 (GET_OPCODE (InstructionAddress) == OPCODE_XOR) ||
542 (GET_OPCODE (InstructionAddress) == OPCODE_SHL) ||
543 (GET_OPCODE (InstructionAddress) == OPCODE_SHR) ||
544 (GET_OPCODE (InstructionAddress) == OPCODE_EXTNDB) ||
545 (GET_OPCODE (InstructionAddress) == OPCODE_EXTNDW) ||
546 (GET_OPCODE (InstructionAddress) == OPCODE_EXTNDD)
549 Opcode = GET_OPCODE (InstructionAddress);
550 Operands = GET_OPERANDS (InstructionAddress);
551 Modifiers = GET_MODIFIERS (InstructionAddress);
552 if ((Modifiers & DATAMANIP_M_IMMDATA) != 0) {
561 if (DisasmString !=
NULL) {
613 InstructionAddress += 2;
614 if ((Modifiers & DATAMANIP_M_IMMDATA) != 0) {
615 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
616 if ((Operands & OPERAND_M_INDIRECT2) != 0) {
644 OUT CHAR16 **DisasmString
654 (GET_OPCODE (InstructionAddress) == OPCODE_NEG) ||
655 (GET_OPCODE (InstructionAddress) == OPCODE_ADD) ||
656 (GET_OPCODE (InstructionAddress) == OPCODE_SUB) ||
657 (GET_OPCODE (InstructionAddress) == OPCODE_MUL) ||
658 (GET_OPCODE (InstructionAddress) == OPCODE_DIV) ||
659 (GET_OPCODE (InstructionAddress) == OPCODE_MOD) ||
660 (GET_OPCODE (InstructionAddress) == OPCODE_ASHR)
663 Opcode = GET_OPCODE (InstructionAddress);
664 Operands = GET_OPERANDS (InstructionAddress);
665 Modifiers = GET_MODIFIERS (InstructionAddress);
666 if ((Modifiers & DATAMANIP_M_IMMDATA) != 0) {
675 if (DisasmString !=
NULL) {
712 InstructionAddress += 2;
713 if ((Modifiers & DATAMANIP_M_IMMDATA) != 0) {
714 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
715 if ((Operands & OPERAND_M_INDIRECT2) != 0) {
743 OUT CHAR16 **DisasmString
755 (GET_OPCODE (InstructionAddress) == OPCODE_MOVBW) ||
756 (GET_OPCODE (InstructionAddress) == OPCODE_MOVWW) ||
757 (GET_OPCODE (InstructionAddress) == OPCODE_MOVDW) ||
758 (GET_OPCODE (InstructionAddress) == OPCODE_MOVQW) ||
759 (GET_OPCODE (InstructionAddress) == OPCODE_MOVBD) ||
760 (GET_OPCODE (InstructionAddress) == OPCODE_MOVWD) ||
761 (GET_OPCODE (InstructionAddress) == OPCODE_MOVDD) ||
762 (GET_OPCODE (InstructionAddress) == OPCODE_MOVQD) ||
763 (GET_OPCODE (InstructionAddress) == OPCODE_MOVQQ) ||
764 (GET_OPCODE (InstructionAddress) == OPCODE_MOVNW) ||
765 (GET_OPCODE (InstructionAddress) == OPCODE_MOVND)
768 Opcode = GET_OPCODE (InstructionAddress);
769 Modifiers = GET_MODIFIERS (InstructionAddress);
770 Operands = GET_OPERANDS (InstructionAddress);
772 if ((Modifiers & (OPCODE_M_IMMED_OP1 | OPCODE_M_IMMED_OP2)) != 0) {
773 if ((Opcode <= OPCODE_MOVQW) || (Opcode == OPCODE_MOVNW)) {
774 if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {
778 if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {
781 }
else if (((Opcode <= OPCODE_MOVQD) || (Opcode == OPCODE_MOVND)) != 0) {
782 if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {
786 if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {
789 }
else if (Opcode == OPCODE_MOVQQ) {
790 if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {
794 if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {
803 if (DisasmString !=
NULL) {
845 InstructionAddress += 2;
846 if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {
847 if ((Opcode <= OPCODE_MOVQW) || (Opcode == OPCODE_MOVNW)) {
848 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
849 InstructionAddress += 2;
851 }
else if ((Opcode <= OPCODE_MOVQD) || (Opcode == OPCODE_MOVND)) {
852 CopyMem (&Data32, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT32));
853 InstructionAddress += 4;
855 }
else if (Opcode == OPCODE_MOVQQ) {
856 CopyMem (&Data64, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT64));
857 InstructionAddress += 8;
865 if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {
866 if ((Opcode <= OPCODE_MOVQW) || (Opcode == OPCODE_MOVNW)) {
867 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
869 }
else if ((Opcode <= OPCODE_MOVQD) || (Opcode == OPCODE_MOVND)) {
870 CopyMem (&Data32, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT32));
872 }
else if (Opcode == OPCODE_MOVQQ) {
873 CopyMem (&Data64, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT64));
899 OUT CHAR16 **DisasmString
907 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_MOVSNW);
909 Modifiers = GET_MODIFIERS (InstructionAddress);
910 Operands = GET_OPERANDS (InstructionAddress);
912 if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {
916 if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {
923 if (DisasmString !=
NULL) {
930 InstructionAddress += 2;
931 if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {
932 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
933 InstructionAddress += 2;
940 if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {
941 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
942 if ((Operands & OPERAND_M_INDIRECT2) != 0) {
970 OUT CHAR16 **DisasmString
978 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_MOVSND);
980 Modifiers = GET_MODIFIERS (InstructionAddress);
981 Operands = GET_OPERANDS (InstructionAddress);
983 if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {
987 if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {
994 if (DisasmString !=
NULL) {
1001 InstructionAddress += 2;
1002 if ((Modifiers & OPCODE_M_IMMED_OP1) != 0) {
1003 CopyMem (&Data32, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT32));
1004 InstructionAddress += 4;
1011 if ((Modifiers & OPCODE_M_IMMED_OP2) != 0) {
1012 CopyMem (&Data32, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT32));
1013 if ((Operands & OPERAND_M_INDIRECT2) != 0) {
1041 OUT CHAR16 **DisasmString
1046 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_LOADSP);
1048 Operands = GET_OPERANDS (InstructionAddress);
1053 if (DisasmString !=
NULL) {
1083 OUT CHAR16 **DisasmString
1088 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_STORESP);
1090 Operands = GET_OPERANDS (InstructionAddress);
1095 if (DisasmString !=
NULL) {
1125 OUT CHAR16 **DisasmString
1133 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_PUSH);
1135 Operands = GET_OPERANDS (InstructionAddress);
1136 Modifiers = GET_MODIFIERS (InstructionAddress);
1137 if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {
1146 if (DisasmString !=
NULL) {
1158 InstructionAddress += 2;
1159 if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {
1160 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
1161 if ((Operands & OPERAND_M_INDIRECT1) != 0) {
1189 OUT CHAR16 **DisasmString
1197 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_POP);
1199 Operands = GET_OPERANDS (InstructionAddress);
1200 Modifiers = GET_MODIFIERS (InstructionAddress);
1201 if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {
1210 if (DisasmString !=
NULL) {
1222 InstructionAddress += 2;
1223 if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {
1224 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
1225 if ((Operands & OPERAND_M_INDIRECT1) != 0) {
1253 OUT CHAR16 **DisasmString
1264 (GET_OPCODE (InstructionAddress) == OPCODE_CMPIEQ) ||
1265 (GET_OPCODE (InstructionAddress) == OPCODE_CMPILTE) ||
1266 (GET_OPCODE (InstructionAddress) == OPCODE_CMPIGTE) ||
1267 (GET_OPCODE (InstructionAddress) == OPCODE_CMPIULTE) ||
1268 (GET_OPCODE (InstructionAddress) == OPCODE_CMPIUGTE)
1271 Modifiers = GET_MODIFIERS (InstructionAddress);
1272 Opcode = GET_OPCODE (InstructionAddress);
1273 Operands = GET_OPERANDS (InstructionAddress);
1275 if ((Operands & 0xE0) != 0) {
1280 if ((Operands & OPERAND_M_CMPI_INDEX) != 0) {
1284 if ((Modifiers & OPCODE_M_CMPI32_DATA) != 0) {
1293 if (DisasmString !=
NULL) {
1302 if ((Modifiers & OPCODE_M_CMPI32_DATA) != 0) {
1312 case OPCODE_CMPILTE:
1315 case OPCODE_CMPIGTE:
1318 case OPCODE_CMPIULTE:
1321 case OPCODE_CMPIUGTE:
1328 InstructionAddress += 2;
1329 if ((Operands & OPERAND_M_CMPI_INDEX) != 0) {
1330 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
1331 InstructionAddress += 2;
1337 if ((Modifiers & OPCODE_M_CMPI32_DATA) != 0) {
1338 CopyMem (&Data32, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT32));
1341 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
1366 OUT CHAR16 **DisasmString
1374 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_PUSHN);
1376 Operands = GET_OPERANDS (InstructionAddress);
1377 Modifiers = GET_MODIFIERS (InstructionAddress);
1378 if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {
1387 if (DisasmString !=
NULL) {
1394 InstructionAddress += 2;
1395 if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {
1396 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
1397 if ((Operands & OPERAND_M_INDIRECT1) != 0) {
1425 OUT CHAR16 **DisasmString
1433 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_POPN);
1435 Operands = GET_OPERANDS (InstructionAddress);
1436 Modifiers = GET_MODIFIERS (InstructionAddress);
1437 if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {
1446 if (DisasmString !=
NULL) {
1453 InstructionAddress += 2;
1454 if ((Modifiers & PUSHPOP_M_IMMDATA) != 0) {
1455 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
1456 if ((Operands & OPERAND_M_INDIRECT1) != 0) {
1484 OUT CHAR16 **DisasmString
1494 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_MOVI);
1496 Modifiers = GET_MODIFIERS (InstructionAddress);
1497 Operands = GET_OPERANDS (InstructionAddress);
1499 if ((Operands & MOVI_M_IMMDATA) != 0) {
1505 if ((Modifiers & MOVI_M_DATAWIDTH) == MOVI_DATAWIDTH16) {
1507 }
else if ((Modifiers & MOVI_M_DATAWIDTH) == MOVI_DATAWIDTH32) {
1509 }
else if ((Modifiers & MOVI_M_DATAWIDTH) == MOVI_DATAWIDTH64) {
1516 if (DisasmString !=
NULL) {
1520 switch (Operands & MOVI_M_MOVEWIDTH) {
1521 case MOVI_MOVEWIDTH8:
1524 case MOVI_MOVEWIDTH16:
1527 case MOVI_MOVEWIDTH32:
1530 case MOVI_MOVEWIDTH64:
1535 switch (Modifiers & MOVI_M_DATAWIDTH) {
1536 case MOVI_DATAWIDTH16:
1539 case MOVI_DATAWIDTH32:
1542 case MOVI_DATAWIDTH64:
1549 InstructionAddress += 2;
1550 if ((Operands & MOVI_M_IMMDATA) != 0) {
1551 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
1552 InstructionAddress += 2;
1558 switch (Modifiers & MOVI_M_DATAWIDTH) {
1559 case MOVI_DATAWIDTH16:
1560 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
1563 case MOVI_DATAWIDTH32:
1564 CopyMem (&Data32, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT32));
1567 case MOVI_DATAWIDTH64:
1568 CopyMem (&Data64, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT64));
1594 OUT CHAR16 **DisasmString
1604 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_MOVIN);
1606 Modifiers = GET_MODIFIERS (InstructionAddress);
1607 Operands = GET_OPERANDS (InstructionAddress);
1609 if ((Operands & MOVI_M_IMMDATA) != 0) {
1615 if ((Modifiers & MOVI_M_DATAWIDTH) == MOVI_DATAWIDTH16) {
1617 }
else if ((Modifiers & MOVI_M_DATAWIDTH) == MOVI_DATAWIDTH32) {
1619 }
else if ((Modifiers & MOVI_M_DATAWIDTH) == MOVI_DATAWIDTH64) {
1626 if (DisasmString !=
NULL) {
1630 switch (Modifiers & MOVI_M_DATAWIDTH) {
1631 case MOVI_DATAWIDTH16:
1634 case MOVI_DATAWIDTH32:
1637 case MOVI_DATAWIDTH64:
1644 InstructionAddress += 2;
1645 if ((Operands & MOVI_M_IMMDATA) != 0) {
1646 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
1647 InstructionAddress += 2;
1653 switch (Modifiers & MOVI_M_DATAWIDTH) {
1654 case MOVI_DATAWIDTH16:
1655 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
1658 case MOVI_DATAWIDTH32:
1659 CopyMem (&Data32, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT32));
1662 case MOVI_DATAWIDTH64:
1663 CopyMem (&Data64, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT64));
1689 OUT CHAR16 **DisasmString
1701 ASSERT (GET_OPCODE (InstructionAddress) == OPCODE_MOVREL);
1702 SavedInstructionAddress = InstructionAddress;
1704 Modifiers = GET_MODIFIERS (InstructionAddress);
1705 Operands = GET_OPERANDS (InstructionAddress);
1707 if ((Operands & MOVI_M_IMMDATA) != 0) {
1713 if ((Modifiers & MOVI_M_DATAWIDTH) == MOVI_DATAWIDTH16) {
1715 }
else if ((Modifiers & MOVI_M_DATAWIDTH) == MOVI_DATAWIDTH32) {
1717 }
else if ((Modifiers & MOVI_M_DATAWIDTH) == MOVI_DATAWIDTH64) {
1726 if (DisasmString !=
NULL) {
1730 switch (Modifiers & MOVI_M_DATAWIDTH) {
1731 case MOVI_DATAWIDTH16:
1734 case MOVI_DATAWIDTH32:
1737 case MOVI_DATAWIDTH64:
1744 InstructionAddress += 2;
1745 if ((Operands & MOVI_M_IMMDATA) != 0) {
1746 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
1747 InstructionAddress += 2;
1753 switch (Modifiers & MOVI_M_DATAWIDTH) {
1754 case MOVI_DATAWIDTH16:
1755 CopyMem (&Data16, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT16));
1762 case MOVI_DATAWIDTH32:
1763 CopyMem (&Data32, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT32));
1770 case MOVI_DATAWIDTH64:
1771 CopyMem (&Data64, (VOID *)(
UINTN)(InstructionAddress),
sizeof (UINT64));
1772 if (
sizeof (
UINTN) ==
sizeof (UINT64)) {
VOID *EFIAPI CopyMem(OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
UINTN EdbDisasmMOVsnd(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmMOVREL(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmSignedDataManip(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmPUSH(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmCMPI(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmPOP(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmCALL(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmSTORESP(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmBREAK(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmUnsignedDataManip(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmMOVIn(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmMOVI(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmJMP8(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmRET(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmJMP(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmPOPn(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmMOVsnw(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmPUSHn(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmCMP(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmLOADSP(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbDisasmMOVxx(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN EFI_SYSTEM_CONTEXT SystemContext, OUT CHAR16 **DisasmString)
UINTN EdbPrintRawIndexData16(IN UINT16 Data16)
UINTN EdbPrintData64n(IN UINT64 Data64)
UINTN EdbPrintInstructionName(IN CHAR16 *Name)
UINTN EdbPrintRegister1(IN UINT8 Operands)
CHAR16 * EdbPreInstructionString(VOID)
UINTN EdbPrintImmData32(IN UINT32 Data)
UINTN EdbPrintDatan(IN UINTN Data)
CHAR16 * EdbPostInstructionString(VOID)
UINTN EdbPrintRawIndexData32(IN UINT32 Data32)
UINTN EdbPrintData8(IN UINT8 Data8)
UINT64 GetRegisterValue(IN EFI_SYSTEM_CONTEXT SystemContext, IN UINT8 Index)
UINTN EdbPrintRawIndexData64(IN UINT64 Data64)
UINTN EdbPrintData16(IN UINT16 Data16)
UINTN EdbPrintDedicatedRegister1(IN UINT8 Operands)
UINTN EdbPrintDedicatedRegister2(IN UINT8 Operands)
UINTN EdbPrintComma(VOID)
UINTN EdbFindAndPrintSymbol(IN UINTN Address)
UINTN EdbPrintRegister2(IN UINT8 Operands)
UINTN EdbPrintData32(IN UINT32 Data32)
UINTN EdbPrintImmDatan(IN UINTN Data)
UINTN EdbPrintData64(IN UINT64 Data64)
UINT64 EFI_PHYSICAL_ADDRESS