ACPI 中文文档ACPI 中文文档
首页
第 1 章
第 2 章
第 3 章
第 4 章
第 5 章
第 6 章
第 7 章
第 8 章
第 9 章
第 10 章
第 11 章
第 12 章
第 13 章
第 14 章
第 15 章
第 16 章
第 17 章
第 18 章
第 19 章
第 20 章
第 21 章
附录 A
首页
第 1 章
第 2 章
第 3 章
第 4 章
第 5 章
第 6 章
第 7 章
第 8 章
第 9 章
第 10 章
第 11 章
第 12 章
第 13 章
第 14 章
第 15 章
第 16 章
第 17 章
第 18 章
第 19 章
第 20 章
第 21 章
附录 A
  • 第 19 章

    • 总览
    • 19.1. ASL 2.0 符号运算符和表达式
    • 19.2. ASL 语言语法
      • 19.2.1. ASL 语法表示法
      • 19.2.2. ASL 名称和路径名项
      • 19.2.3. ASL 根项和次级项
      • 19.2.4. ASL 数据和常量项
      • 19.2.5. ASL 操作码项
      • 19.2.6. ASL 基本(终结)项
        • 19.2.6. ASL 基本(终结)项
        • 19.2.6. ASL 基本(终结)项(续 2)
      • 19.2.7. ASL 参数关键字项
      • 19.2.8. ASL 资源模板项
    • 19.3. ASL 概念
      • 19.3.1. ASL 名称
      • 19.3.2. ASL 字面常量
      • 19.3.3. ASL 资源模板
      • 19.3.4. ASL 宏
      • 19.3.5. ASL 数据类型
    • 19.4. ASL 运算符摘要
    • 19.5. 按类型划分的 ASL 操作符摘要
    • 19.6. ASL 运算符参考
      • 19.6.1. AccessAs(更改字段单元访问)
      • 19.6.2. Acquire(获取互斥量)
      • 19.6.3. Add(整数加法)
      • 19.6.4. Alias(声明名称别名)
      • 19.6.5. And(整数按位与)
      • 19.6.6. Argx(方法参数数据对象)
      • 19.6.7. BankField(声明 Bank/Data 字段)
      • 19.6.8. Break(从 While 中中断)
      • 19.6.9. BreakPoint(执行断点)
      • 19.6.10. Buffer(声明缓冲区对象)
      • 19.6.11. Case(用于条件执行的情况表达式)
      • 19.6.12. Concatenate(连接数据)
      • 19.6.13. ConcatenateResTemplate(连接资源模板)
      • 19.6.14. CondRefOf(有条件地创建对象引用)
      • 19.6.15. Connection(声明字段连接属性)
      • 19.6.16. Continue(继续最内层外围 While)
      • 19.6.17. CopyObject(复制并存储对象)
      • 19.6.18. CreateBitField(创建 1 位缓冲区字段)
      • 19.6.19. CreateByteField(创建 8 位缓冲区字段)
      • 19.6.20. CreateDWordField(创建 32 位缓冲区字段)
      • 19.6.21. CreateField(创建任意长度缓冲区字段)
      • 19.6.22. CreateQWordField(创建 64 位缓冲区字段)
      • 19.6.23. CreateWordField(创建 16 位缓冲区字段)
      • 19.6.24. CSI2Bus(CSI-2 串行总线连接资源描述符宏)
      • 19.6.25. DataTableRegion(创建数据表操作区域)
      • 19.6.26. Debug(调试器输出)
      • 19.6.27. Decrement(整数递减)
      • 19.6.28. Default(Switch 中的默认执行路径)
      • 19.6.29. DefinitionBlock(声明定义块)
      • 19.6.30. DerefOf(解引用对象引用)
      • 19.6.31. Device(声明设备包)
      • 19.6.32. Divide(整数除法)
      • 19.6.33. DMA(DMA 资源描述符宏)
      • 19.6.34. DWordIO(DWord I/O 资源描述符宏)
      • 19.6.35. DWordMemory(DWord 内存资源描述符宏)
      • 19.6.36. DWordSpace(DWord 空间资源描述符宏)
      • 19.6.37. EISAID(EISA ID 字符串到整数转换宏)
      • 19.6.38. Else(替代执行)
      • 19.6.39. ElseIf(替代/条件执行)
      • 19.6.40. EndDependentFn(结束依赖功能资源描述符宏)
      • 19.6.41. Event(声明事件同步对象)
      • 19.6.42. ExtendedIO(扩展 IO 资源描述符宏)
      • 19.6.43. ExtendedMemory(扩展 Memory 资源描述符宏)
      • 19.6.44. ExtendedSpace(扩展地址空间资源描述符宏)
      • 19.6.45. External(声明外部对象)
      • 19.6.46. Fatal(致命错误检查)
      • 19.6.47. Field(声明字段对象)
      • 19.6.48. 查找最左侧置位位
      • 19.6.49. 查找最右侧置位位
      • 19.6.50. FixedDMA(DMA 资源描述符宏)
      • 19.6.51. FixedIO(固定 IO 资源描述符宏)
      • 19.6.52. For(条件循环)
      • 19.6.53. Fprintf(创建并存储格式化字符串)
      • 19.6.54. FromBCD(将 BCD 转换为 Integer)
      • 19.6.55. Function(声明控制方法)
      • 19.6.56. GpioInt(GPIO 中断连接资源描述符宏)
      • 19.6.57. GpioIo(GPIO 连接 IO 资源描述符宏)
      • 19.6.58. I2CSerialBusV2(I2C 串行总线连接资源描述符(版本 2)宏)
      • 19.6.59. If(条件执行)
      • 19.6.60. Include(包含附加 ASL 文件)
      • 19.6.61. Increment(整数递增)
      • 19.6.62. Index(成员对象的索引引用)
      • 19.6.63. IndexField(声明索引/数据字段)
      • 19.6.64. Interrupt(中断资源描述符宏)
      • 19.6.65. IO(IO 资源描述符宏)
      • 19.6.66. IRQ(中断资源描述符宏)
      • 19.6.67. IRQNoFlags(中断资源描述符宏)
      • 19.6.68. LAnd(逻辑与)
      • 19.6.69. LEqual(逻辑等于)
      • 19.6.70. LGreater(逻辑大于)
      • 19.6.71. LGreaterEqual(逻辑大于或等于)
      • 19.6.72. LLess(逻辑小于)
      • 19.6.73. LLessEqual(逻辑小于或等于)
      • 19.6.74. LNot(逻辑非)
      • 19.6.75. LNotEqual(逻辑不等于)
      • 19.6.76. Load(加载定义块)
      • 19.6.77. LoadTable(从 XSDT 加载定义块)
      • 19.6.78. Localx(方法局部数据对象)
      • 19.6.79. LOr(逻辑或)
      • 19.6.80. Match(查找对象匹配)
      • 19.6.81. Memory24(内存资源描述符宏)
      • 19.6.82. Memory32(内存资源描述符宏)
      • 19.6.83. Memory32Fixed(内存资源描述符宏)
      • 19.6.84. Method(声明控制方法)
      • 19.6.85. Mid(提取 Buffer 或 String 的一部分)
      • 19.6.86. Mod(整数取模)
      • 19.6.87. Multiply(整数乘法)
      • 19.6.88. Mutex(声明同步/互斥对象)
      • 19.6.89. Name(声明命名对象)
      • 19.6.90. NAnd(整数按位 NAND)
      • 19.6.91. NoOp Code(空操作)
      • 19.6.92. NOr(整数按位 NOR)
      • 19.6.93. Not(整数按位取反)
      • 19.6.94. Notify(通知对象发生事件)
      • 19.6.95. Offset(更改当前字段单元偏移)
      • 19.6.96. ObjectType(获取对象类型)
      • 19.6.97. One(常量值为一的整数)
      • 19.6.98. Ones(全 1 常量整数)
      • 19.6.99. OperationRegion(声明操作区域)
      • 19.6.100. Or(整数按位或)
      • 19.6.101. Package(声明 Package 对象)
      • 19.6.102. PinConfig(引脚配置描述符宏)
      • 19.6.103. PinFunction(引脚功能描述符宏)
      • 19.6.104. PinGroup(引脚组描述符宏)
      • 19.6.105. PinGroupConfig(引脚组配置描述符宏)
      • 19.6.106. PinGroupFunction(引脚组功能配置描述符宏)
      • 19.6.107. PowerResource(声明电源资源)
      • 19.6.108. Printf(创建并存储格式化字符串)
      • 19.6.109. QWordIO(QWord IO 资源描述符宏)
      • 19.6.110. QWordMemory(QWord Memory 资源描述符宏)
      • 19.6.111. QWordSpace(QWord 空间资源描述符宏)
      • 19.6.112. RawDataBuffer(原始数据缓冲区)
      • 19.6.113. RefOf(创建对象引用)
      • 19.6.114. Register(通用寄存器资源描述符宏)
      • 19.6.115. Release(释放 Mutex 同步对象)
      • 19.6.116. Reset(重置 Event 同步对象)
      • 19.6.117. ResourceTemplate(资源到缓冲区转换宏)
      • 19.6.118. Return(从方法执行中返回)
      • 19.6.119. Revision(常量修订整数)
      • 19.6.120. Scope(打开命名作用域)
      • 19.6.121. ShiftLeft(整数左移)
      • 19.6.122. ShiftRight(整数右移)
      • 19.6.123. Signal(发出同步 Event 信号)
      • 19.6.124. SizeOf(获取数据对象大小)
      • 19.6.125. Sleep(毫秒休眠)
      • 19.6.126. SPISerialBusV2(SPI 串行总线连接资源描述符(版本 2)宏)
      • 19.6.127. Stall(短时间停顿)
      • 19.6.128. StartDependentFn(起始依赖函数资源描述符宏)
      • 19.6.129. StartDependentFnNoPri(起始依赖函数资源描述符宏)
      • 19.6.130. Store(存储对象)
      • 19.6.131. Subtract(整数减法)
      • 19.6.132. Switch(根据表达式选择要执行的代码)
      • 19.6.133. ThermalZone(声明热区)
      • 19.6.134. 定时器(获取 64 位定时器值)
      • 19.6.135. ToBCD(将整数转换为 BCD)
      • 19.6.136. ToBuffer(将数据转换为 Buffer)
      • 19.6.137. ToDecimalString(将数据转换为十进制字符串)
      • 19.6.138. ToHexString(将数据转换为十六进制字符串)
      • 19.6.139. ToInteger(将数据转换为整数)
      • 19.6.140. ToPLD(创建 _PLD Buffer 对象)
      • 19.6.141. ToString(将 Buffer 转换为 String)
      • 19.6.142. ToUUID(将字符串转换为 UUID 宏)
      • 19.6.143. UARTSerialBusV2(UART 串行总线连接资源描述符版本 2 宏)
      • 19.6.144. Unicode(字符串到 Unicode 转换宏)
      • 19.6.145. VendorLong(长厂商资源描述符)
      • 19.6.146. VendorShort(短厂商资源描述符)
      • 19.6.147. Wait(等待同步事件)
      • 19.6.148. While(条件循环)
      • 19.6.149. WordBusNumber(Word 总线编号资源描述符宏)
      • 19.6.150. WordIO(Word IO 资源描述符宏)
      • 19.6.151. WordSpace(Word Space 资源描述符宏)
      • 19.6.152. XOr(整数按位异或)
      • 19.6.153. Zero(常量零整数)

19.4. ASL 运算符摘要

表 19.15 ASL 运算符摘要列表

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