19. ACPI 源语言(ASL)参考
本节正式定义 ACPI 源语言(ASL)。ASL 是一种用于定义 ACPI 对象(包括编写 ACPI 控制方法)的源语言。OEM 和平台固件开发人员使用 ASL 定义对象并编写控制方法,然后使用翻译工具(编译器)生成这些控制方法的 ACPI 机器语言(AML)版本。有关 AML 的正式定义,请参见 ACPI 机器语言(AML)规范 章节。
AML 和 ASL 是不同的语言,尽管它们彼此密切相关。
每个兼容 ACPI 的 OS 都必须支持 AML。给定用户可以定义某种任意的源语言(以替代 ASL),并编写一个工具将其翻译为 AML。
OEM 或平台固件供应商需要编写 ASL,并能够以单步方式执行 AML 以进行调试。(调试器和类似工具应当是 AML 级工具,而不是源级工具。)ASL 翻译器的实现者必须理解如何读取 ASL 并生成 AML。AML 解释器的编写者必须理解如何执行 AML。
本节包含两个部分:
ASL 语法,它是正式的 ASL 规范,同时也可作为快速参考。
完整的 ASL 参考,它针对每个 ASL 运算符包含:运算符调用语法、每个参数的类型,以及该运算符的动作和用法说明。