Share via


Compilador do Microsoft ASL

A versão 5.0 do compilador asl (linguagem de origem) do Microsoft ACPI dá suporte aos recursos na Especificação avançada de configuração e interface de energia, revisão 5.0 (especificação ACPI 5.0). O compilador ASL é distribuído com o WDK (Kit de Driver do Windows).

Baixar o WDK (Kit de Driver do Windows)

O compilador ASL (asl.exe) está localizado nos diretórios Tools\arm\ACPIVerify, Tools\arm64\ACPIVerify, Tools\x86\ACPIVerify e Tools\x64\ACPIVerify do WDK instalado, por exemplo, C:\Program Files (x86)\Windows Kits\10\Tools\<build #>\<build architecture>\ACPIVerify.

Primeiro, você precisa instalar o SDK, seguido pelo WDK. Os números de build para os dois kits devem corresponder.

Opções de linha de comando

O compilador ASL dá suporte a várias opções de linha de comando. Para listar informações de versão e opções de linha de comando disponíveis, execute o comando "asl /?" em uma janela do Prompt de Comando.

Uso do compilador ASL

O compilador ASL dá suporte às seguintes opções de linha de comando:

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>
Opção Descrição
? Imprima esta mensagem de ajuda.
nologo Suprima a faixa do logotipo.
Fo=<AMLFile> Substitua o nome do arquivo AML no DefinitionBlock.
Fa=<ASMFile> Gere um . Arquivo ASM com o nome <ASMFile>.
Fn=<NSDFile> Gere um arquivo de despejo de namespace com o nome <NSDFile>.
d Despejar o arquivo binário no formato de texto.
u Desmonte um arquivo AML em um . Arquivo ASL (padrão) ou um . Arquivo LST.
tab=<TabSig> Desmonte a tabela ASL em um . Arquivo ASL (padrão) ou um . Arquivo LST. Despejar tabela não ASL em um arquivo .TXT. Se <TabSig> for '*', todas as tabelas serão despejadas em ACPI.TXT. <TabSig> também pode ser o endereço físico da tabela.
c Criar arquivos binários a partir de tabelas.

Usando o recurso ACPI-table-load do compilador do Microsoft ASL

Durante o desenvolvimento do sistema, é útil ter uma maneira de simular vários constructos de BIOS de ACPI e testá-los no sistema de desenvolvimento. O sistema operacional Windows permite que determinadas tabelas ACPI sejam carregadas do Registro do Windows em vez da ROM do BIOS do computador. O uso desse recurso requer privilégios de administrador e também requer que a assinatura de teste seja habilitada no sistema. Para sistemas que dão suporte à Inicialização Segura uefi, a assinatura de teste não pode ser habilitada e o recurso de carregamento de tabela do compilador não pode ser usado a menos que a Inicialização Segura UEFI esteja desabilitada ou a Política de Depuração do Windows esteja instalada no sistema.

Para usar o recurso de carregamento de tabela, a tabela ACPI a ser sobrecarregada deve atender aos seguintes requisitos:

  • A tabela a ser sobrecarregada já deve estar presente no BIOS ROM do sistema. Por exemplo, o DSDT pode ser sobrecarregado; no entanto, se o computador não tiver um SSDT, você não poderá forçar um SSDT a ser carregado desse mecanismo de substituição do Registro.

  • A tabela deve conter o código AML que normalmente é consumido pelo interpretador de ACPI do Windows (o driver Acpi.sys).

  • A tabela com o número de versão mais alto será carregada. A tabela carregada no registro para teste deve ter um número de versão maior do que a mesma tabela na ROM do BIOS.

  • A tabela a ser carregada deve estar no formato compilado (AML) e carregada no registro no local correto, com os parâmetros corretos especificados. O mecanismo descrito aqui foi projetado para lidar com todos os aspectos do carregamento da tabela e da configuração do registro.

Aviso

O processo descrito neste tópico pode deixar seu sistema Windows em um estado não inicializável. Verifique se você tem acesso a outro sistema operacional com suporte ao sistema de arquivos NTFS (ou seja, um "build seguro") no mesmo computador antes de tentar os procedimentos descritos aqui. Esse processo é fornecido apenas para desenvolvedores e testadores do sistema e NÃO deve ser usado em qualquer computador vital para fins de desenvolvimento ou produção.

AcPI-table-load usage

Para carregar uma tabela ACPI no registro para fins de teste, o compilador ASL é invocado da seguinte maneira:

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

em que AMLFile é o nome do arquivo AML compilado que contém a tabela que você deseja carregar no registro.

Opção Descrição
-v Modo detalhado. Ativa a saída de depuração extra do utilitário .
-d Excluir. Remove um arquivo AML carregado anteriormente do registro e exclui todas as chaves do Registro associadas.

Recursos adicionais