Chapter 9 Writing Machine Language Instructions and Directive Statements
156 Writing Directive Statements
9.4.2 align
Syntax
label operation operand
align expression
Default settings
The current location counter value will be inherited.
Functional description
The align directive adjusts the location counter to be a multiple of the value indicated by expression.
The expression must be a power of 2 in the range 1 to 215.
When the expression value is 4, the multiples of 4 will be the following series.
4, 8, 12, 16, 20, 24, 28, 32, ...
When the location counter value is 13, the statement after align 4 will have its location counter changed
to 16. When the location counter is 23, the statement will have its location counter changed to 24.
When the location counter is 30, the statement counter will have its location counter changed to 32.
Thus, the align directive rounds up the current location counter value up to the next greater multiple of
the expression value.
Operand coding rules
The attribute of the calculated result of the expression coded in the operand must be abs (absolute). For
a discussion of expression attributes, see Chapter 8 “Writing Source Statements” Section 8.7
“Expressions”, 8.7.4 ”Expression Attributes”.
The expression value must be a power of 2 in the range 1 to 215.
2, 4, 8, 16, 32, 64, 128, 256, ...
If the expression value is not a power of 2, the assembler will generate an error and round up to the next
greater power of 2. In such a case, if the assembler's r option has been specified, the assembler will
generate a relocatable object file even with the error.
When the expression value is between 5 to 7, it can be round up to 8. Also, when the expression value
is between 17to 31,it can be round up to 32.