.machine 伪操作

用途

定义预期目标环境。

语法

描述
. 机器 StringConstant

描述

. 机器 伪操作将为目标机器选择正确的指令助记符集。 它提供了使用链接编辑器所必需的符号表信息。 . 机器 伪操作会覆盖 作为 命令的 命令 标志的设置,该标志也可用于指定为目标机器设置的指令助记符。

. 机器 伪操作可以多次出现在源程序中。 由 . 机器 伪操作程序指定的值将覆盖由先前 . 机器 伪操作程序指定的任何值。 不需要将第一个 . 机器 伪操作放置在源程序的开头。 如果在源程序的开头未出现 . 机器 伪操作,并且 命令 标志未与 作为 命令一起使用,那么将使用缺省组合件方式。 缺省组装方式将被第一个 . 机器 伪操作覆盖。

如果 . 机器 伪操作指定了无效的值,那么将报告错误。 因此,由缺省方式值, 命令 标志或先前的 . 机器 伪操作指定的最后一个有效值将用于汇编程序中的指令验证的剩余部分通过。

参数

描述
StringConstant 指定组合件方式。 此参数不区分大小写,并且可以是任何可以在命令行上使用 命令 标志指定的值。 括在引号内的可能值为:
空字符串 ("") 或无
指定缺省组装方式。 源程序只能包含对 POWER ® 系列和 PowerPC®都通用的指令。 任何其他指令都会导致错误。
push
将当前组装方式保存在组装方式下推堆栈中。
POP
从组装方式下推堆栈中除去先前保存的值,并将组装方式复原为此保存的值。
注: 弹出 的预期用途包含在更改当前组合件方式的包含文件中。.machine "push"应该在包含的文件中使用,然后再使用另一个 . 机器更改当前组装方式。 同样,.machine "pop"应该在所包含文件的末尾使用,以恢复输入组装方式。

尝试在组装方式下推堆栈中保留 100 个以上的值将导致组装错误。 Pseudo-ops.machine "push".machine "pop"成对使用。

ppc
指定 32 位模式的PowerPC®通用架构。 源程序只能包含 PowerPC® 公共体系结构 32 位指令。 任何其他指令将导致错误。
ppc64
指定PowerPC®64 位模式。 源程序只能包含 PowerPC 64 位指令。 任何其他指令将导致错误。
com
指定 POWER® 系列和PowerPC®架构交叉模式。 源程序只能包含对 POWER ® 系列和 PowerPC®都通用的指令。 任何其他指令都会导致错误。
pwr
指定 POWER® 系列架构、POWER® 系列实施模式。 源程序只能包含 POWER® 系列架构的 POWER® 系列实现指令。 任何其他指令将导致错误。
pwr2 或 pwrx
POWER® 系列架构,POWER2™实现。 源程序只能包含针对 POWER ® 系列体系结构的 POWER2™ 实现的指令。 任何其他指令将导致错误。
pwr4 或 620
指定 POWER4 方式。 源程序只能包含与 POWER4 处理器相兼容的指令。
pwr5
适用于AIX® 5.3及更高版本,POWER® 系列架构,POWER5™实施。 源程序只能包含针对 POWER ® 系列体系结构的 POWER5™ 实现的指令。 任何其他指令将导致错误。
pwr5x
指定 POWER5+™ 方式。 源程序只能包含与 POWER5+™ 处理器兼容的指令。
描述
 
pwr6
指定POWER6®模式。 源程序只能包含与POWER6®处理器兼容的指令。
pwr6e
指定 POWER6E 方式。 源程序只能包含与 POWER6E 处理器相兼容的指令。
pwr7
指定 POWER7 方式。 源程序只能包含与 POWER7 处理器相兼容的指令。
pwr8
指定 POWER8 方式。 源程序只能包含与POWER8处理器兼容的指令
开始更改pwr9结束更改
开始更改指定POWER9模式。 源程序只能包含与POWER9处理器兼容的指令。结束更改
开始更改pwr10结束更改
开始更改指定POWER10模式。 源程序只能包含与POWER10处理器兼容的指令。结束更改
ANY
任何非特定 POWER®family/PowerPC®®架构或实施模式。 这包括来自任何有效体系结构或实现的指令的混合。
601
指定 "PowerPC®架构、"PowerPC®601 RISC 微处理器模式。 源程序只能包含PowerPC®架构PowerPC®601 RISC 微处理器的指令。 任何其他指令将导致错误。
注意:建议不要将601组装模式用于打算移植到未来PowerPC®系统的应用程序。 对于此类应用程序,应该使用 通信人民新闻 组合件方式。

PowerPC®601 RISC 微处理器实现了PowerPC®体系结构,以及一些不包含在PowerPC®体系结构中的 POWER® 系列指令。 这样,现有的 POWER® 系列应用程序就可以在PowerPC®系统上以可接受的性能运行。 未来的PowerPC®系统将不具备此功能。 由于601汇编模式允许使用PowerPC®601 RISC 微处理器提供的所有指令,因此601汇编模式可能导致应用程序无法在现有的 POWER® 系列系统上运行,也可能无法在未来的PowerPC®系统上实现可接受的性能。

603
指定 PowerPC® 体系结构 PowerPC 603 RISC 微处理器方式。 源程序只能包含 PowerPC® 体系结构 PowerPC 603 RISC 微处理器的指令。 任何其他指令将导致错误。
604
指定PowerPC®架构、PowerPC604 RISC 微处理器模式。 源程序只能包含PowerPC®架构PowerPC604 RISC 微处理器的指令。 任何其他指令将导致错误。
ppc970 或 970
指定 PPC970 方式。 源程序只能包含与 PPC970 处理器相兼容的指令。
A35
指定 A35 方式。 源程序只能包含 A35 的指令。 任何其他指令将导致错误。

示例

  1. 要将目标环境设置为 POWER ® 系列架构, POWER ® 系列实施:
    
    .machine "pwr"
    
  2. 将目标环境设置为任何非特定的 POWER®family/PowerPC®®架构或实施模式:
    
    .machine "any"
    
  3. 要显式选择缺省组装方式:
    
    .machine ""
    
  4. 以下代码片段的汇编程序输出示例显示了以下内容的用法:.machine "push".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 |