19.5. 按类型划分的 ASL 操作符摘要
表 19.16 ASL 编译器控制
| 操作符名称 | 描述 |
|---|---|
| External | 声明外部对象 |
| Include | 包含另一个 ASL 文件 |
表 19.17 ACPI 表管理
| 操作符名称 | 描述 |
|---|---|
| DefinitionBlock | 声明一个定义块 |
| LoadTable | 从 RSDT/XSDT 加载表 |
| Load | 加载可区分的定义块 |
表 19.18 杂项命名对象创建
| 操作符名称 | 描述 |
|---|---|
| Alias | 定义一个名称别名 |
| Buffer | 声明 Buffer 对象 |
| Device | 声明一个总线/设备对象 |
| Function | 声明一个控制方法 |
| Method | 声明一个控制方法 |
| Name | 声明一个命名对象 |
| Package | 声明一个包对象 |
| PowerResource | 声明一个电源资源对象 |
| Processor | 声明一个处理器包 |
| RawDataBuffer | 声明一个 RawDataBuffer |
| Scope | 打开命名作用域 |
| ThermalZone | 声明一个热区包 |
表 19.19 操作区域和字段
| 操作符名称 | 描述 |
|---|---|
| AccessAs | 更改字段访问方式 |
| BankField | 在分银行配置对象中声明字段 |
| Connection | 声明字段连接属性 |
| DataTableRegion | 声明一个数据表区域 |
| Field | 声明操作区域对象的字段 |
| IndexField | 声明索引/数据字段 |
| Offset | 在操作区域内设置字段偏移 |
| OperationRegion | 声明一个操作区域 |
表 19.20 缓冲区字段
| 操作符名称 | 描述 |
|---|---|
| CreateBitField | 声明缓冲区对象的位字段对象 |
| CreateByteField | 声明缓冲区对象的字节字段对象 |
| CreateDWordField | 声明缓冲区对象的 DWord 字段对象 |
| CreateField | 声明缓冲区对象的任意长度位字段 |
| CreateQWordField | 声明缓冲区对象的 QWord 字段对象 |
| CreateWordField | 声明缓冲区对象的 Word 字段对象 |
表 19.21 同步
| 操作符名称 | 描述 |
|---|---|
| Acquire | 获取一个互斥锁 |
| Event | 声明一个事件同步对象 |
| Mutex | 声明一个互斥同步对象 |
| Notify | 通知对象发生事件 |
| Release | 释放一个同步对象 |
| Reset | 重置一个同步对象 |
| Signal | 发信号通知一个同步对象 |
| Wait | 在事件上等待 |
表 19.22 对象引用
| 操作符名称 | 描述 |
|---|---|
| CondRefOf | 对对象的条件引用 |
| DerefOf | 解引用对象引用 |
| RefOf | 创建对对象的引用 |
表 19.23 整数算术
| 操作符名称 | 描述 |
|---|---|
| Add | 整数加法 |
| And | 整数按位与 |
| Decrement | 整数递减 |
| Divide | 整数除法 |
| FindSetLeftBit | 第一个置位的最高有效位的索引 |
| FindSetRightBit | 第一个置位的最低有效位的索引 |
| Increment | 整数递增 |
| Mod | 整数取模 |
| Multiply | 整数乘法 |
| NAnd | 整数按位与非 |
| NOr | 整数按位或非 |
| Not | 整数按位非 |
| Or | 整数按位或 |
| ShiftLeft | 整数左移值 |
| ShiftRight | 整数右移值 |
| Subtract | 整数减法 |
| Xor | 整数按位异或 |
表 19.24 逻辑操作符
| 操作符名称 | 描述 |
|---|---|
| LAnd | 逻辑与 |
| LEqual | 逻辑相等 |
| LGreater | 逻辑大于 |
| LGreaterEqual | 逻辑不小于 |
| LLess | 逻辑小于 |
| LLessEqual | 逻辑不大于 |
| LNot | 逻辑非 |
| LNotEqual | 逻辑不等 |
| LOr | 逻辑或 |
表 19.25 方法执行控制
| 操作符名称 | 描述 |
|---|---|
| Break | 继续执行最内层封闭 While 之后的语句 |
| BreakPoint | 用于调试,在调试器中停止执行 |
| Case | 用于条件执行的表达式 |
| Continue | 继续最内层封闭 While 循环 |
| Default | Switch() 中的默认执行路径 |
| Else | 替代条件执行 |
| ElseIf | 条件执行 |
| Fatal | 致命错误检查 |
| If | 条件执行 |
| NoOp | 无操作 |
| Return | 从方法执行中返回 |
| Sleep | 以毫秒为单位休眠(让出处理器) |
| Stall | 以微秒为单位延迟(不让出处理器) |
| Switch | 根据表达式值选择要执行的代码 |
| While | 条件循环 |
表 19.26 数据类型转换和操作
| 操作符名称 | 描述 |
|---|---|
| Concatenate | 连接两个字符串、整数或缓冲区 |
| CopyObject | 复制一个现有对象 |
| Debug | 调试器输出 |
| EisaId | EISA ID 字符串到整数的转换宏 |
| Fprintf | 将格式化字符串存储到一个命名对象 |
| FromBCD | 从 BCD 转换为数值 |
| Index | 对成员对象的索引引用 |
| Match | 在包数组中搜索匹配项 |
| Mid | 返回缓冲区或字符串的一部分 |
| ObjectType | 对象的类型 |
| Printf | 将格式化字符串存储到 Debug 对象 |
| SizeOf | 获取缓冲区、字符串或包的大小 |
| Store | 存储对象 |
| Timer | 获取 64 位定时器值 |
| ToBCD | 将整数转换为 BCD |
| ToBuffer | 将数据类型转换为缓冲区 |
| ToDecimalString | 将数据类型转换为十进制字符串 |
| ToHexString | 将数据类型转换为十六进制字符串 |
| ToInteger | 将数据类型转换为整数 |
| ToPLD | 将 PLD 关键字列表转换为 _PLD 缓冲区 |
| ToString | 从缓冲区复制 ASCII 字符串 |
| ToUUID | 将 ASCII 字符串转换为 UUID |
| Unicode | 字符串到 Unicode 的转换宏 |
表 19.27 资源描述符宏
| 运算符名称 | 说明 |
|---|---|
| ConcatenateResTemplate | 连接两个资源模板 |
| DMA | DMA 资源描述符宏 |
| DWordIO | DWord I/O 资源描述符宏 |
| DWordMemory | DWord 内存资源描述符宏 |
| DWordSpace | DWord 空间资源描述符宏 |
| EndDependentFn | 结束从属功能资源描述符宏 |
| ExtendedIO | 扩展 I/O 资源描述符宏 |
| ExtendedMemory | 扩展内存资源描述符宏 |
| ExtendedSpace | 扩展空间资源描述符宏 |
| FixedDMA | 固定 DMA 资源描述符宏 |
| FixedIO | 固定 I/O 资源描述符宏 |
| GpioInt | GPIO 中断连接资源描述符宏 |
| GpioIO | GPIO I/O 连接资源描述符宏 |
| I2CSerialBusV2 | I2C 串行总线连接资源描述符(版本 2)宏 |
| Interrupt | 中断资源描述符宏 |
| IO | I/O 资源描述符宏 |
| IRQ | 中断资源描述符宏 |
| IRQNoFlags | 短中断资源描述符宏 |
| Memory24 | 内存资源描述符宏 |
| Memory32 | 内存资源描述符宏 |
| Memory32Fixed | 内存资源描述符宏 |
| QWordIO | QWord I/O 资源描述符宏 |
| QWordMemory | QWord 内存资源描述符宏 |
| QWordSpace | QWord 空间资源描述符宏 |
| Register | 通用寄存器资源描述符宏 |
| ResourceTemplate | 资源到缓冲区转换宏 |
| SPISerialBusV2 | SPI 串行总线连接资源描述符(版本 2)宏 |
| StartDependentFn StartDependentFnNoPri | 起始从属功能资源描述符宏 |
| UARTSerialBusV2 | UART 串行总线连接资源描述符(版本 2)宏 |
| VendorLong | 厂商资源描述符 |
| VendorShort | 厂商资源描述符 |
| WordBusNumber | Word 总线编号资源描述符宏 |
| WordIO | Word I/O 资源描述符宏 |
| WordSpace | Word 空间资源描述符宏 |
表 19.28 常量
| 运算符名称 | 说明 |
|---|---|
| One | 常量 One 对象(1) |
| Ones | 常量 Ones 对象(-1) |
| Revision | 常量修订版本对象 |
| Zero | 常量 Zero 对象(0) |
表 19.29 控制方法对象
| 运算符名称 | 说明 |
|---|---|
| ArgX | 方法参数数据对象 |
| LocalX | 方法局部数据对象 |