Microsoft ASL 編譯程式

Microsoft ACPI 來源語言 (ASL) 編譯程式 5.0 版支援進階設定和 Power Interface 規格 5.0 (ACPI 5.0 規格) 中的功能。 ASL 編譯程式會與 Windows 驅動程式套件 (WDK) 一起散發。

下載 Windows 驅動程式套件 (WDK)

ASL 編譯程式 (asl.exe) 位於已安裝 WDK 的 Tools\arm\ACPIVerify、Tools\arm64\ACPIVerify、Tools\x86\ACPIVerify 和 Tools\x64\ACPIVerify 目錄,例如 C:\Program Files (x86)\Windows Kits\10\Tools\<build #>\<build architecture>\ACPIVerify

您必須先安裝 SDK,後面接著 WDK。 這兩個套件的組建編號必須相符。

命令列選項

ASL 編譯程式支援數個命令行選項。 若要列出版本資訊和可用的命令行選項,請在命令提示字元視窗中執行命令 “asl /? ”。

ASL 編譯程式使用方式

ASL 編譯程序支援下列命令行選項:

asl /?
asl [/nologo] /d <BinFile>
asl [/nologo] /u [/Fa=<ASMFile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>] <AMLFile>
asl [/nologo] /tab=<TabSig> [/c] [/Fa=<ASMfile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>]
asl [/nologo] [/Fo=<AMLFile>] [/Fa=<ASMFile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>] <ASLFile>
選項 描述
? 列印此說明訊息。
nologo 隱藏標誌橫幅。
Fo=<AMLFile> 覆寫 DefinitionBlock 中的 AML 檔名。
Fa=<ASMFile> 產生 。名稱 <為 ASMFile> 的 ASM 檔案。
Fn=<NSDFile> 產生名稱 <為 NSDFile> 的 NameSpace 傾印檔案。
d 以文字形式傾印二進位檔。
u 將 AML 檔案解除組譯成 。ASL 檔案 (預設值) 或 。LST 檔案。
tab=<TabSig> 將 ASL 資料表解除組譯成 。ASL 檔案 (預設值) 或 。LST 檔案。 將非 ASL 數據表傾印至.TXT檔案。 如果 <TabSig> 為 『*』,則會將所有數據表傾印到ACPI.TXT。 <TabSig> 也可以是數據表的實體位址。
c 從數據表建立二進位檔。

使用Microsoft ASL 編譯程式的 ACPI-table-load 功能

在系統開發期間,有一種方法可以模擬各種ACPI BIOS 建構,並在開發系統上進行測試,這非常有用。 Windows 作業系統允許從 Windows 登錄載入特定 ACPI 資料表,而不是從電腦的 BIOS ROM 載入。 使用這項功能需要系統管理員許可權,而且需要在系統上啟用測試簽署。 在支援 UEFI 安全開機的系統中,無法啟用測試簽署,而且除非停用 UEFI 安全開機或系統上安裝 Windows 偵錯原則,否則無法使用編譯程式的數據表載入功能。

若要使用數據表載入功能,要多載的ACPI數據表必須符合下列需求:

  • 要多載的數據表必須已存在於系統的BIOS ROM中。 例如,DSDT 可以多載;不過,如果計算機沒有 SSDT,您無法強制從此登錄覆寫機制載入 SSDT。

  • 數據表必須包含 Windows ACPI 解釋器通常取用的 AML 程式代碼(Acpi.sys驅動程式)。

  • 載入版本號碼最高的數據表。 載入登錄以進行測試的數據表的版本號碼必須高於 BIOS ROM 中的相同數據表。

  • 要載入的數據表必須採用編譯的 (AML) 格式,並在正確的位置載入登錄,並指定正確的參數。 所述的機制是設計來處理載入數據表和設定登錄的所有層面。

警告

本主題所述的程式可能會讓您的 Windows 系統處於無法開機的狀態。 在嘗試此處所述的程式之前,請確定您能夠存取另一個具有NTFS檔案系統支援的作業系統(也就是同一部電腦上的「安全組建」。 此程式僅供系統開發人員和測試人員使用,不應用於開發或生產用途至關重要的任何計算機上。

ACPI-table-load usage

若要將 ACPI 數據表載入登錄以供測試之用,會叫用 ASL 編譯程式,如下所示:

asl.exe /loadtable [-v] [-d] <AMLFile>

其中 AMLFile 是編譯的 AML 檔名,其中包含您想要載入登錄的數據表。

選項 描述
-v 詳細資訊模式。 開啟公用程式的額外偵錯輸出。
-d 刪除。 從登錄中移除先前載入的 AML 檔案,並刪除所有相關聯的登錄機碼。

更多資源