.align pseudo-op

Zweck

Verschiebt den aktuellen Positionszähler, bis eine durch den Parameter Zahl angegebene Grenze erreicht ist.

Syntax

.align Number [, Number2]

Beschreibung

Die Pseudo-Option .align wird normalerweise in einem Kontrollabschnitt (csect) verwendet, der Daten enthält.

Anfang der ÄnderungDer Parameter Number gibt die logarithmische Basis 2 (binärer Logarithmus) für die erforderliche Ausrichtung des Standortzählers an. Wenn Sie z. B. 2 angeben, fordert der Pseudo-Operator ' .align eine Wortausrichtung an, und wenn Sie 3 angeben, fordert der Pseudo-Operator ' .align eine Doppelwortausrichtung an.Ende der Änderung

Anfang der ÄnderungWenn der Parameter Number2 angegeben wird, erfolgt die Ausrichtung nur, wenn die Position innerhalb von Number2 Bytes der erforderlichen Ausrichtungsgrenze liegt. Dies ist vor allem vor einem vorangestellten Befehl nützlich, um zu verhindern, dass der Befehl eine 64-Byte-Grenze überschreitet. Ende der Änderung

Wenn der Parameter Number2 nicht angegeben wird, richtet der Assembler den Positionszähler durch Einfügen von Bytes aus. In den meisten Fällen werden 0s eingefügt, aber wenn der aktuelle csect eine Speicherzuordnungsklasse von PR oder GL hat, werden Anweisungen ohne Operationen eingefügt. Weitere Informationen zu Speicherzuordnungsklassen finden Sie unter .csekt pseudo-op.

Parameter

Element Beschreibung
Nummer Gibt einen absoluten Ausdruck an, der einen ganzzahligen Wert von 0 bis 12 (einschließlich) ergibt. Der Wert gibt die Protokollbasis 2 der gewünschten Ausrichtung an. Zum Beispiel würde eine Ausrichtung von 8 (ein Doppelwort) durch einen Integer-Wert von 3 dargestellt werden; eine Ausrichtung von 4096 (eine Seite) würde durch einen Integer-Wert von 12 dargestellt werden.
Anfang der ÄnderungNumber2Ende der Änderung Anfang der ÄnderungGibt einen absoluten Ausdruck an, der zu einer Zahl ausgewertet wird. Die Ausrichtung erfolgt nur, wenn der Positionszähler näher an der gewünschten Ausrichtungsgrenze liegt als Number2 Bytes. Wenn der durch den Parameter Number2 angegebene Wert größer als 2Number ist, wird der ParameterNumber2 ignoriert.Ende der Änderung

Beispiele

Die folgenden Beispiele veranschaulichen die Verwendung der Pseudooperation .bündig :
  • 
                    .csect   progdata[RW]
                    .byte    1
                             # Location counter now at odd number
                    .align   1
                             # Location counter is now at the next
                             # halfword boundary.
                    .byte    3,4
                    .
                    .
                    .
                    .align   2       # Insure that the label cont
                                     # and the .long pseudo-op are
                                     # aligned on a full word
                                     # boundary.
            cont:   .long    5004381
    
  • Anfang der Änderung
    
                    .csect [PR]
                    …
                    .align 6,8	# Align the program counter if the 
                                     # current location counter is less 
                                     # than 8 bytes from a 64-bit byte  
                                     # boundary
                    plw r3,0x10000(r4)	# Load a word into r3
    
    Ende der Änderung