.pseudo-op de la máquina

Finalidad

Define el entorno de destino previsto.

Sintaxis

Elemento Descripción
.máquina StringConstant

Descripción

El pseudo-op de .máquina selecciona el conjunto de mnemotécnicos de instrucción correcto para la máquina de destino. Proporciona información de tabla de símbolos necesaria para el uso del editor de enlaces. El pseudo-op de .máquina altera temporalmente el valor del distintivo M del mandato como , que también se puede utilizar para especificar el conjunto mnemotécnico de instrucciones para la máquina de destino.

El pseudo-op de .máquina se puede producir en el programa de origen más de una vez. El valor especificado por un pseudo-op de .máquina altera temporalmente cualquier valor especificado por una pseudo-op de .máquina anterior. No es necesario colocar el primer pseudo-op de .máquina al principio de un programa de origen. Si no se produce ninguna pseudo-op .máquina al principio de un programa de origen y el distintivo M no se utiliza con el mandato como , se utiliza la modalidad de ensamblaje predeterminada. La modalidad de ensamblaje predeterminada se altera temporalmente mediante el primer pseudo-op de .máquina .

Si un pseudo-op de .máquina especifica un valor que no es válido, se informa de un error. Como resultado, el último valor válido especificado por el valor de modalidad predeterminado, el distintivo M o un pseudo-op .máquina anterior se utiliza para el resto de la validación de instrucciones en el pase de ensamblador.

Parámetros

Elemento Descripción
StringConstant Especifica la modalidad de ensamblaje. Este parámetro no distingue entre mayúsculas y minúsculas y puede ser cualquiera de los valores que se pueden especificar con el distintivo M en la línea de mandatos. Los valores posibles, entre comillas, son:
Serie nula ("") o nada
Especifica la modalidad de ensamblaje predeterminada. Un programa fuente sólo puede contener instrucciones comunes a la familia POWER ® y a PowerPC®. Cualquier otra instrucción provoca un error.
enviar
Guarda la modalidad de ensamblaje actual en la pila de desplazamiento de modalidad de ensamblaje.
POP
Elimina un valor guardado anteriormente de la pila de desplazamiento de modalidad de ensamblaje y restaura la modalidad de ensamblaje a este valor guardado.
Nota: El uso previsto de push y pop está dentro de los archivos de inclusión que alteran el modo de ensamblaje actual..machine "push"debe utilizarse en el archivo incluido, antes de cambiar el modo de ensamblaje actual con otro .máquina. Similarmente,.machine "pop"debe utilizarse al final del archivo incluido, para restaurar la modalidad de ensamblaje de entrada.

Si se intenta mantener más de 100 valores en la pila de desplazamiento de modalidad de ensamblaje, se producirá un error de ensamblaje. Los pseudo-ops.machine "push"y.machine "pop"se utilizan en pares.

ppc
Especifica la arquitectura común PowerPC®, modo de 32 bits. Un programa de origen sólo puede contener la arquitectura común de PowerPC® , instrucciones de 32 bits. Cualquier otra instrucción provoca un error.
ppc64
Especifica el modo PowerPC® de 64 bits. Un programa de origen solo puede contener instrucciones de PowerPC de 64 bits. Cualquier otra instrucción provoca un error.
com
Especifica el modo de intersección de la familia POWER® y la arquitectura PowerPC®. Un programa fuente sólo puede contener instrucciones comunes a la familia POWER ® y a PowerPC®. Cualquier otra instrucción provoca un error.
pwr
Especifica la arquitectura de la familia POWER®, el modo de implementación de la familia POWER®. Un programa fuente sólo puede contener instrucciones para la implementación de la familia POWER® de la arquitectura de la familia POWER®. Cualquier otra instrucción provoca un error.
pwr2 o pwrx
Arquitectura de la familia POWER®, implementación de POWER2™. Un programa fuente sólo puede contener instrucciones para la implementación de POWER2™ de la arquitectura de la familia POWER ®. Cualquier otra instrucción provoca un error.
pwr4 o 620
Especifica la modalidad POWER4 . Un programa de origen sólo puede contener instrucciones compatibles con el procesador POWER4 .
pwr5
Para AIX® 5.3 y posterior, arquitectura de la familia POWER®, implementación POWER5™. Un programa fuente sólo puede contener instrucciones para la implementación de POWER5™ de la arquitectura de la familia POWER ®. Cualquier otra instrucción provoca un error.
pwr5x
Especifica la modalidad POWER5+™ . Un programa fuente sólo puede contener instrucciones compatibles con el procesador POWER5+™ .
Elemento Descripción
 
pwr6
Especifica el modo POWER6®. Un programa fuente sólo puede contener instrucciones compatibles con el procesador POWER6®.
pwr6e
Especifica la modalidad POWER6E . Un programa de origen sólo puede contener instrucciones compatibles con el procesador POWER6E .
pwr7
Especifica la modalidad POWER7 . Un programa de origen sólo puede contener instrucciones compatibles con el procesador POWER7 .
pwr8
Especifica la modalidad POWER8 . Un programa fuente sólo puede contener instrucciones compatibles con el procesador POWER8
inici del canvipwr9fin del cambio
inici del canviEspecifica el modo POWER9. Un programa fuente sólo puede contener instrucciones compatibles con el procesador POWER9.fin del cambio
inici del canvipwr10fin del cambio
inici del canviEspecifica el modo POWER10. Un programa fuente sólo puede contener instrucciones compatibles con el procesador POWER10.fin del cambio
any
Cualquier arquitectura o modo de implementación no específicos de family/PowerPC®. Esto incluye mezclas de instrucciones de cualquiera de las arquitecturas o implementaciones válidas.
601
Especifica la arquitectura PowerPC®, modo microprocesador PowerPC® 601 RISC. Un programa fuente sólo puede contener instrucciones para la arquitectura PowerPC®, Microprocesador PowerPC® 601 RISC. Cualquier otra instrucción provoca un error.
Atención: Se recomienda no utilizar el modo de ensamblaje 601 para aplicaciones que pretendan ser portables a futuros sistemas PowerPC®. La modalidad de ensamblaje com o ppc debe utilizarse para dichas aplicaciones.

El microprocesador PowerPC® 601 RISC implementa la arquitectura PowerPC®, además de algunas instrucciones de la familia POWER® que no se incluyen en la arquitectura PowerPC®. Esto permite que las aplicaciones existentes de la familia POWER® funcionen con un rendimiento aceptable en los sistemas PowerPC®. Los futuros sistemas PowerPC® no dispondrán de esta función. El modo de ensamblaje ' 601 ' puede dar lugar a aplicaciones que no funcionen en los sistemas actuales de la familia POWER® y que no tengan un rendimiento aceptable en los futuros sistemas ' PowerPC®, ya que el modo de ensamblaje ' 601 ' permite utilizar todas las instrucciones proporcionadas por el microprocesador RISC ' PowerPC® 601.

603
Especifica la arquitectura PowerPC® , modalidad de microprocesador PowerPC 603 RISC. Un programa de origen sólo puede contener instrucciones para la arquitectura PowerPC® , PowerPC 603 RISC Microprocessor. Cualquier otra instrucción provoca un error.
604
Especifica la arquitectura PowerPC®, modo microprocesador PowerPC 604 RISC. Un programa fuente sólo puede contener instrucciones para la arquitectura PowerPC®, Microprocesador PowerPC 604 RISC. Cualquier otra instrucción provoca un error.
ppc970 o 970
Especifica la modalidad PPC970 . Un programa de origen sólo puede contener instrucciones compatibles con el procesador PPC970 .
A35
Especifica la modalidad A35 . Un programa de origen sólo puede contener instrucciones para A35. Cualquier otra instrucción provoca un error.

Ejemplos

  1. Para establecer el entorno de destino en la arquitectura de la familia POWER ®, la implementación de la familia POWER ®:
    
    .machine "pwr"
    
  2. Para establecer el entorno de destino en cualquier arquitectura o modo de implementación no específicos de family/PowerPC®:
    
    .machine "any"
    
  3. Para seleccionar explícitamente la modalidad de ensamblaje predeterminada:
    
    .machine ""
    
  4. El ejemplo siguiente de salida de ensamblador para un fragmento de código muestra el uso de.machine "push"y.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 |