次の方法で共有


!amli u

!amli u 拡張子は、AML コードをアンアセンブルします。

構文

    !amli u [ MethodName | CodeAddress ]

パラメーター

MethodName
逆アセンブルするメソッド名のフル パスを指定します。

CodeAddress
逆アセンブリを開始する AML コードのアドレスを指定します。 CodeAddress の先頭に 2 つのパーセント記号 (%%) が付いている場合、物理アドレスとして解釈されます。 それ以外の場合は、仮想アドレスとして解釈されます。

DLL

Kdexts.dll

追加情報

関連するコマンドとその使用法については、「AMLI デバッガー」を参照してください。

解説

MethodNameCodeAddress も指定されておらず、このコマンドを AMLI から発行している場合

逆アセンブリ表示はメソッドの最後に到達するまで続きます。

標準の u (Unassemble) コマンドでは、AML コードでは適切な結果が得られません。

いくつか例を挙げます。 アドレス 0x80E5D701 のオブジェクトを逆アセンブルするには、次のコマンドを使用します。

kd> !amli u 80e5d701

ffffffff80e5d701 : CreateWordField(CRES, 0x1, IRQW)
ffffffff80e5d70c : And(\_SB_.PCI0.LPC_.PIRA, 0xf, Local0)
ffffffff80e5d723 : Store(One, Local1)
ffffffff80e5d726 : ShiftLeft(Local1, Local0, IRQW)
ffffffff80e5d72d : Return(CRES)

次のコマンドは _DCK メソッドを逆アセンブルします。

kd> u \_sb.pci0.dock._dck