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.6.1. AccessAs(更改字段单元访问)

语法 :

AccessAs (AccessType, AccessAttribute)
AccessAs (AccessType, AccessAttribute (AccessLength))

参数

AccessType 是一个 AccessTypeKeyword,用于指定所需的访问类型(ByteAcc、WordAcc 等)。AccessAttribute 是一个可选参数,类型为 AccessAttributeKeyword,用于指定要使用的附加协议,例如 AttribQuick、AttribSendReceive 等。对于某些访问属性,AccessLength 是必需参数。

说明

AccessAs 运算符在 FieldList 中使用,用于为列表中其余的 FieldUnits 指定访问类型、访问属性和访问长度(或者直到遇到另一个 AccessAs 运算符为止。)它允许在单个 Field 定义中,FieldUnits 具有不同的访问类型。

支持的 AccessTypes:

> * AnyAcc > > * ByteAcc > > * WordAcc > > * DwordAcc > > * QWordAcc > > * BufferAcc > >

支持的简单 AccessAttributes(带有 SMBus 同义词):

> * AttribQuick (SMBQuick) > > * AttribSendReceive (SMBSendReceive) > > * AttribByte (SMBByte) > > * AttribWord (SMBWord) > > * AttribBlock (SMBBlock) > > * AttribProcessCall (SMBProcessCall) > > * AttribBlockProcessCall (SMBBlockProcessCall) > >

需要 AccessLength 参数的访问属性:

> * AttribBytes (AccessLength) > > * AttribRawBytes (AccessLength) > > * AttribRawProcessBytes (AccessLength) > >

Next
19.6.2. Acquire(获取互斥量)