Uninitialized Space Allocation

The .skip and .org statements reserve uninitialized space in a section without assigning it a value. The .skip and .org statements enable the assembler to reserve space in any section type, including a "nobits" section. During program execution, the contents of a "nobits" section are initialized as zero by the operating system program loader. When using the .skip and .org statements in any other section type, the assembler initializes the reserved space with zeros.

The .skip statement reserves a block of space in the current section. The size of the block is specified in bytes, and is determined by an expression operand. The expression operand specifies the size of space reserved in the current section. The .skip statement with a label, defines a symbol of @object type, and sets the size attribute for that symbol.

The .skip statement has the following format:

[label: ]  .skip expression

Where:

label

Specifies the data allocation address of the beginning of the reserved block.

expression

Represents an absolute integer expression with no forward references. The location counter advances to a location relative to the current location within the section. This operand cannot have a negative value since the location counter cannot be reversed.

The .org statement reserves a block of space in the current section. The .org statement advances the location counter to the location specified by the expression operand. The .org statement with a label defines a symbol of @object type, and sets the size attribute for that symbol. The .org statement has the following format:

[label:]  .org expression

Where:

label

Specifies the data allocation address of the beginning of the reserved block.

expression

Represents an integer, or a relocatable expression, with no forward references. If the expression is relocatable, it must be reducible to the form R+K, where R is a symbol previously defined in the current section, and K is an absolute constant. The location counter is set to the indicated offset relative to the beginning of the section.

Since the location counter cannot be reversed, this operand must be greater than, or equal to, the current location counter.