.machine pseudo-op

Zweck

Definiert die beabsichtigte Zielumgebung

Syntax

Element Beschreibung
.Maschine StringConstant

Beschreibung

Die Pseudooperation .Maschine wählt die richtigen mnemonischen Anweisungsgruppen für die Zielmaschine aus. Sie enthält Symboltabelleninformationen, die für die Verwendung des Linkage-Editors erforderlich sind. Die Pseudooperation .Maschine überschreibt die Einstellung des Flags -m des Befehls als , das auch verwendet werden kann, um die mnemonischen Zeichen für Anweisungen anzugeben, die für die Zielmaschine festgelegt wurden.

Die Pseudooperation .Maschine kann im Quellenprogramm mehrfach auftreten. Der durch eine Pseudooperation .Maschine angegebene Wert überschreibt jeden Wert, der durch eine frühere Pseudooperation .Maschine angegeben wurde. Es ist nicht erforderlich, die erste Pseudooperation .Maschine am Anfang eines Quellenprogramms zu platzieren. Wenn am Anfang eines Quellenprogramms keine Pseudooperation .Maschine auftritt und das Flag -m nicht mit dem Befehl als verwendet wird, wird der Standardassemblierungsmodus verwendet. Der Standardassemblierungsmodus wird durch die erste Pseudooperation .Maschine überschrieben.

Wenn eine .Maschine -Pseudo-Operation einen ungültigen Wert angibt, wird ein Fehler gemeldet. Als Ergebnis wird der letzte gültige Wert, der durch den Standardmoduswert, das Flag -m oder eine vorherige Pseudooperation .Maschine angegeben wird, für den Rest der Anweisungsvalidierung im Assembler verwendet.

Parameter

Element Beschreibung
StringConstant Gibt den Baugruppenmodus an Bei diesem Parameter muss die Groß-/Kleinschreibung nicht beachtet werden und er kann einen beliebigen Wert haben, der mit dem Flag -m in der Befehlszeile angegeben werden kann. Gültige Werte, eingeschlossen in Anführungszeichen, sind:
Nullzeichenfolge ("") oder nichts
Gibt den Standardbaugruppenmodus an. Ein Quellenprogramm kann nur Anweisungen enthalten, die sowohl für die POWER ® -Produktfamilie als auch für PowerPC®gelten. Jede andere Anweisung verursacht einen Fehler.
Push
Sichert den aktuellen Baugruppenmodus im Pushdown-Stapel im Baugruppenmodus.
POP
Entfernt einen zuvor gespeicherten Wert aus dem Pushdown-Stapel für den Assemblierungsmodus und stellt den Assemblierungsmodus auf diesen gespeicherten Wert zurück.
Anmerkung: Die beabsichtigte Verwendung von Push und Pop ist innerhalb von Include-Dateien, die den aktuellen Assemblierungsmodus ändern..machine "push"in der eingeschlossenen Datei verwendet werden, bevor der aktuelle Baugruppenmodus durch einen anderen .Maschinegeändert wird. In ähnlicher Weise.machine "pop"am Ende der eingeschlossenen Datei verwendet werden, um den Eingabebaugruppenmodus wiederherzustellen.

Der Versuch, mehr als 100 Werte im Pushdown-Stack im Assemblierungsmodus zu halten, führt zu einem Assemblierungsfehler. Die Pseudo-Ops.machine "push"und.machine "pop"werden paarweise verwendet.

Ppc
Gibt die allgemeine PowerPC®, 32-Bit-Modus, an. Ein Quellenprogramm kann nur 32-Bit-Anweisungen für die allgemeine Architektur von PowerPC® enthalten. Jede andere Instruktion verursacht einen Fehler.
ppc64
Gibt den PowerPC® 64-Bit-Modus an. Ein Quellenprogramm kann nur PowerPC 64-Bit-Anweisungen enthalten. Jede andere Instruktion verursacht einen Fehler.
COM
Gibt den Schnittpunktmodus der POWER®-Familie und der PowerPC® an. Ein Quellenprogramm kann nur Anweisungen enthalten, die sowohl für die POWER ® -Produktfamilie als auch für PowerPC®gelten. Jede andere Anweisung verursacht einen Fehler.
PWR
Gibt die Architektur der POWER®-Familie und den Implementierungsmodus der POWER®-Familie an. Ein Quellprogramm kann nur Anweisungen für die POWER®-Familien-Implementierung der POWER®-Familienarchitektur enthalten. Jede andere Instruktion verursacht einen Fehler.
pwr2 oder pwrx
Architektur der POWER®-Familie, POWER2™. Ein Quellenprogramm kann nur Anweisungen für die POWER2™ -Implementierung der POWER ® -Architektur enthalten. Jede andere Instruktion verursacht einen Fehler.
pwr4 oder 620
Gibt den Modus POWER4 an. Ein Quellenprogramm kann nur Anweisungen enthalten, die mit dem POWER4 -Prozessor kompatibel sind.
pwr5
Für AIX® 5.3 und höher, POWER®-Familienarchitektur, POWER5™. Ein Quellenprogramm kann nur Anweisungen für die POWER5™ -Implementierung der POWER ® -Architektur enthalten. Jede andere Instruktion verursacht einen Fehler.
pwr5x
Gibt den Modus POWER5+™ an. Ein Quellenprogramm kann nur Anweisungen enthalten, die mit dem Prozessor POWER5+™ kompatibel sind.
Element Beschreibung
 
pwr6
Gibt den POWER6® an. Ein Quellprogramm kann nur Anweisungen enthalten, die mit dem POWER6® kompatibel sind.
pwr6e
Gibt den Modus POWER6E an. Ein Quellenprogramm kann nur Anweisungen enthalten, die mit dem POWER6E -Prozessor kompatibel sind.
pwr7
Gibt den Modus POWER7 an. Ein Quellenprogramm kann nur Anweisungen enthalten, die mit dem POWER7 -Prozessor kompatibel sind.
pwr8
Gibt den Modus POWER8 an. Ein Quellprogramm kann nur Anweisungen enthalten, die mit dem POWER8 kompatibel sind
Anfang der Änderungpwr9Ende der Änderung
Anfang der ÄnderungGibt den POWER9 an. Ein Quellprogramm kann nur Anweisungen enthalten, die mit dem POWER9 kompatibel sind.Ende der Änderung
Anfang der Änderungpwr10Ende der Änderung
Anfang der ÄnderungGibt den Modus 'Power10' an. Ein Quellprogramm kann nur Anweisungen enthalten, die mit dem POWER10 kompatibel sind.Ende der Änderung
any
Jede unspezifische family/PowerPC® oder Implementierungsart. Dies schließt eine Mischung von Anweisungen aus allen gültigen Architekturen oder Implementierungen ein.
601
Gibt die PowerPC® an, PowerPC® 601 RISC-Mikroprozessor-Modus. Ein Quellprogramm kann nur Anweisungen für die PowerPC®, den PowerPC® 601 RISC-Mikroprozessor, enthalten. Jede andere Instruktion verursacht einen Fehler.
Achtung! Es wird empfohlen, den 601-Assembler-Modus nicht für Anwendungen zu verwenden, die auf zukünftige PowerPC® portiert werden sollen. Für solche Anwendungen sollte der Assemblierungsmodus Kom. oder Ppc verwendet werden.

Der PowerPC® 601 RISC-Mikroprozessor implementiert die PowerPC® sowie einige Befehle der POWER®-Familie, die nicht in der PowerPC® enthalten sind. Dadurch können bestehende Anwendungen der POWER®-Familie mit akzeptabler Leistung auf PowerPC® ausgeführt werden. Zukünftige PowerPC® werden diese Funktion nicht mehr haben. Der 601-Assembler-Modus kann zu Anwendungen führen, die auf bestehenden Systemen der POWER®-Familie nicht laufen und auf zukünftigen PowerPC® möglicherweise keine akzeptable Leistung aufweisen, da der 601-Assembler-Modus die Verwendung aller vom PowerPC® 601 RISC-Mikroprozessor bereitgestellten Befehle erlaubt.

603
Gibt die PowerPC® -Architektur an, PowerPC 603 RISC-Mikroprozessormodus. Ein Quellenprogramm kann nur Anweisungen für die PowerPC® -Architektur PowerPC 603 RISC Microprocessor enthalten. Jede andere Instruktion verursacht einen Fehler.
604
Spezifiziert die PowerPC®, PowerPC 604 RISC-Mikroprozessor-Modus. Ein Quellprogramm kann nur Befehle für die PowerPC®, PowerPC 604 RISC Microprocessor, enthalten. Jede andere Instruktion verursacht einen Fehler.
ppc970 oder 970
Gibt den Modus PPC970 an. Ein Quellenprogramm kann nur Anweisungen enthalten, die mit dem PPC970 -Prozessor kompatibel sind.
A35
Gibt den A35-Modus an. Ein Quellenprogramm kann nur Anweisungen für A35enthalten. Jede andere Instruktion verursacht einen Fehler.

Beispiele

  1. Gehen Sie wie folgt vor, um die Zielumgebung auf die Architektur der POWER ® -Produktfamilie einzustellen:
    
    .machine "pwr"
    
  2. Um die Zielumgebung auf eine nicht-spezifische family/PowerPC® oder einen Implementierungsmodus einzustellen:
    
    .machine "any"
    
  3. Gehen Sie wie folgt vor, um den Standardbaugruppenmodus explizit auszuwählen:
    
    .machine ""
    
  4. Das folgende Beispiel einer Assemblerausgabe für ein Codefragment zeigt die Verwendung von.machine "push"und.machine "pop":
    
     push1.s                              V4.1                04/15/94
    File# Line#  Mode Name   Loc Ctr   Object Code            Source
    0       1 |                                              .machine   "pwr2"
    0       2 |                                              .csect    longname1[PR]
    0       3 |  PWR2 longna 00000000  0000000a              .long   10
    0       4 |  PWR2 longna 00000004  329e000a              ai    20,30,10
    0       5 |  PWR2 longna 00000008  81540014              l    10, 20(20)
    0       6 |                                              .machine "push"
    0       7 |                                              .machine  "ppc"
    0       8 |                                              .csect  a2[PR]
    0       9 |  PPC  a2     00000000  7d4c42e6               mftb  10
    0      10 |                                              .machine "pop"
    0      11 |  PWR2 a2     00000004  329e000a              ai    20,30,10
    0      12 |