Compartilhar via


Compilador Microsoft ASL

A versão 5.0 do compilador ASL (Linguagem de origem da ACPI) da Microsoft é compatível com os recursos da Especificação de interface de energia e configuração avançada, revisão 5.0 (Especificação ACPI 5.0). O compilador ASL é distribuído com o WDK (Kit de drivers do Windows).

Baixar o Kit de Driver do Windows (WDK)

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.

Você precisa primeiro instalar o SDK, seguido pelo WDK. Os números de compilação dos dois kits devem corresponder.

Opções de linha de comando

O compilador ASL é compatível com várias opções de linhas de comando. Para listar informações de versão e opções de linhas de comando disponíveis, execute o comando "asl /?" em uma janela de prompt de comando.

Uso do compilador ASL

O compilador ASL é compatível com seguintes opções de linhas 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>
Option Description
? Imprimir esta mensagem de ajuda.
nologo Suprimir o banner do logotipo.
Fo=<AMLFile> Substituir o nome do arquivo AML no DefinitionBlock.
Fa=<ASMFile> Gerar um arquivo . ASM com o nome <ASMFile>.
Fn=<NSDFile> Gerar um arquivo de despejo de NameSpace com o nome <NSDFile>.
d Despeje o arquivo binário em forma 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. Despeje a 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 de carregamento de tabela ACPI do compilador ASL da Microsoft

Durante o desenvolvimento do sistema, é útil ter uma maneira de simular vários construtos de BIOS ACPI e testá-los no sistema de desenvolvimento. O sistema operacional Windows permite que determinadas tabelas ACPI sejam carregadas do registro do Windows, e não da ROM do BIOS do computador. O uso desse recurso requer privilégios de administrador e também requer que a assinatura de teste esteja habilitada no sistema. Em sistemas compatíveis com a 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 na ROM do BIOS do sistema. Por exemplo, o DSDT pode estar sobrecarregado, nas, 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 ACPI do Windows (o driver Acpi.sys).

  • A tabela com o número de versão mais alto é carregada. A tabela carregada no registro para teste deve ter um número de versão mais alto 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 foi projetado para lidar com todos os aspectos do carregamento da tabela e da configuração do registro.

Warning

O processo descrito neste tópico pode deixar o sistema Windows em um estado não inicializável. Certifique-se de ter acesso a outro sistema operacional compatível com o sistema de arquivos NTFS (ou seja, uma "compilação segura") na mesma máquina, antes de tentar os procedimentos descritos aqui. Este processo é fornecido apenas para desenvolvedores e testadores de sistemas e NÃO deve ser usado em nenhuma máquina vital para fins de desenvolvimento ou de 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>

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

Option Description
-v Verbose mode. Ativa a saída de depuração extra do utilitário.
-d Delete. Remove um arquivo AML carregado anteriormente do registro e exclui todas as chaves do registro associadas.

More resources