27.10.2015 Views

Advanced Configuration and Power Interface Specification

ACPI_6.0

ACPI_6.0

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ACPI Source Language (ASL)Reference<br />

To convert<br />

from an<br />

object of this<br />

Data Type<br />

To an object<br />

of this Data<br />

Type<br />

This action is performed by the AML Interpreter:<br />

String Buffer If no buffer object exists, a new buffer object is created. If a buffer object<br />

already exists, it is completely overwritten. If the string is longer than the<br />

buffer, the string is truncated before copying. If the string is shorter than the<br />

buffer, the remaining buffer bytes are set to zero. In either case, the string<br />

is treated as a buffer, with each ASCII string character copied to one buffer<br />

byte, including the null terminator. A null (zero-length) string will be<br />

converted to a zero-length buffer.<br />

Buffer Field The string is treated as a buffer. If this buffer is smaller than the size of the<br />

buffer field, it is zero extended. If the buffer is larger than the size of the<br />

buffer field, the upper bits are truncated.<br />

Compatibility Note: This conversion was first introduced in ACPI 2.0. The<br />

behavior in ACPI 1.0 was undefined.<br />

Debug Object Each string character is displayed as an ASCII character.<br />

Field Unit Each character of the string is written, starting with the first, to the Field<br />

Unit. If the Field Unit is less than eight bits, then the upper bits of each<br />

character are lost. If the Field Unit is greater than eight bits, then the<br />

additional bits are zeroed.<br />

Integer If no integer object exists, a new integer is created. The integer is initialized<br />

to the value zero <strong>and</strong> the ASCII string is interpreted as a hexadecimal<br />

constant. Each string character is interpreted as a hexadecimal value (‘0’-<br />

‘9’, ‘A’-‘F’, ‘a’-‘f’), starting with the first character as the most significant digit,<br />

<strong>and</strong> ending with the first non-hexadecimal character, end-of-string, or when<br />

the size of an integer is reached (8 characters for 32-bit integers <strong>and</strong> 16<br />

characters for 64-bit integers). Note: the first non-hex character terminates<br />

the conversion without error, <strong>and</strong> a “0x” prefix is not allowed. Conversion of<br />

a null (zero-length) string to an integer is not allowed.<br />

19.3.5.8 Rules for Storing <strong>and</strong> Copying Objects<br />

The table below lists the actions performed when storing objects to different types of named targets.<br />

ASL provides the following types of “store” operations:<br />

• The Store operator is used to explicitly store an object to a location, with implicit conversion<br />

support of the source object.<br />

• Many of the ASL operators can store their result optionally into an object specified by the last<br />

parameter. In these operators, if the destination is specified, the action is exactly as if a Store<br />

operator had been used to place the result in the destination.<br />

• The CopyObject operator is used to explicitly store a copy of an object to a location, with no<br />

implicit conversion support.<br />

Version 6.0 797

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!