+ UINT8 *Ptr;\r
+ UINT32 Address;\r
+ UINT32 Count;\r
+ CHAR8 Buffer[80];\r
+ \r
+ if (Argc < 2) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ \r
+ Address = AsciiStrHexToUintn (Argv[1]);\r
+ Count = (Argc > 2) ? (UINT32)AsciiStrHexToUintn (Argv[2]) : 10;\r
+\r
+ Ptr = (UINT8 *)(UINTN)Address; \r
+ while (Count-- > 0) {\r
+ DisassembleInstruction (&Ptr, TRUE, TRUE, Buffer, sizeof (Buffer));\r
+ AsciiPrint ("0x%08x: %a", Address, Buffer);\r
+ }\r
+\r