用途
定义预期目标环境。
语法
描述
. 机器 伪操作将为目标机器选择正确的指令助记符集。 它提供了使用链接编辑器所必需的符号表信息。 . 机器 伪操作会覆盖 作为 命令的 命令 标志的设置,该标志也可用于指定为目标机器设置的指令助记符。
. 机器 伪操作可以多次出现在源程序中。 由 . 机器 伪操作程序指定的值将覆盖由先前 . 机器 伪操作程序指定的任何值。 不需要将第一个 . 机器 伪操作放置在源程序的开头。 如果在源程序的开头未出现 . 机器 伪操作,并且 命令 标志未与 作为 命令一起使用,那么将使用缺省组合件方式。 缺省组装方式将被第一个 . 机器 伪操作覆盖。
如果 . 机器 伪操作指定了无效的值,那么将报告错误。 因此,由缺省方式值, 命令 标志或先前的 . 机器 伪操作指定的最后一个有效值将用于汇编程序中的指令验证的剩余部分通过。
参数
| 项 |
描述 |
| StringConstant |
指定组合件方式。 此参数不区分大小写,并且可以是任何可以在命令行上使用 命令 标志指定的值。 括在引号内的可能值为:
- 空字符串 ("") 或无
- 指定缺省组装方式。 源程序只能包含对 POWER ® 系列和 PowerPC®都通用的指令。 任何其他指令都会导致错误。
- push
- 将当前组装方式保存在组装方式下推堆栈中。
- POP
- 从组装方式下推堆栈中除去先前保存的值,并将组装方式复原为此保存的值。
注: 推 和 弹出 的预期用途包含在更改当前组合件方式的包含文件中。 .machine "push"应该在包含的文件中使用,然后再使用另一个 . 机器更改当前组装方式。 同样, .machine "pop"应该在所包含文件的末尾使用,以恢复输入组装方式。 尝试在组装方式下推堆栈中保留 100 个以上的值将导致组装错误。 Pseudo-ops.machine
"push"和.machine "pop"成对使用。
- ppc
- 指定 PowerPC 公共体系结构 (32 位方式)。 源程序只能包含 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
- 任何非特定 POWERfamily/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 体系结构 PowerPC 604 RISC 微处理器方式。 源程序只能包含 PowerPC 体系结构 PowerPC 604 RISC 微处理器的指令。 任何其他指令将导致错误。
- ppc970 或 970
- 指定 PPC970 方式。 源程序只能包含与 PPC970 处理器相兼容的指令。
- A35
- 指定 A35 方式。 源程序只能包含 A35 的指令。 任何其他指令将导致错误。
|
示例
- 要将目标环境设置为 POWER ® 系列架构, POWER ® 系列实施:
.machine "pwr"
- 将目标环境设置为任何非特定的 POWER®family/PowerPC®®架构或实施模式:
.machine "any"
- 要显式选择缺省组装方式:
.machine ""
- 以下代码片段的汇编程序输出示例显示了以下内容的用法:.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 |