14.06.2015 Views

Power ISA™ Version 2.03 - Power.org

Power ISA™ Version 2.03 - Power.org

Power ISA™ Version 2.03 - Power.org

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Version</strong> <strong>2.03</strong><br />

Appendix F. Opcode Maps<br />

This appendix contains tables showing the opcodes<br />

and extended opcodes.<br />

For the primary opcode table (Table 1 on page 746),<br />

each cell is in the following format.<br />

The category abbreviations are shown on Section 1.3.5<br />

of Book I.<br />

The extended opcode tables show the extended<br />

opcode in decimal, the instruction mnemonic, the category,<br />

and the instruction format. These tables appear in<br />

order of primary opcode within three groups. The first<br />

group consists of the primary opcodes that have small<br />

extended opcode fields (2-4 bits), namely 30, 58, and<br />

62. The second group consists of primary opcodes that<br />

have 11-bit extended opcode fields. The third group<br />

consists of primary opcodes that have 10-bit extended<br />

opcode fields. The tables for the second and third<br />

groups are rotated.<br />

In the extended opcode tables several special markings<br />

are used.<br />

<br />

<br />

<br />

Opcode in<br />

Decimal<br />

Category<br />

Instruction<br />

Mnemonic<br />

Opcode in<br />

Hexadecimal<br />

Instruction<br />

Format<br />

A prime (‘) following an instruction mnemonic<br />

denotes an additional cell, after the lowest-numbered<br />

one, used by the instruction. For example,<br />

subfc occupies cells 8 and 520 of primary opcode<br />

31, with the former corresponding to OE=0 and the<br />

latter to OE=1. Similarly, sradi occupies cells 826<br />

and 827, with the former corresponding to sh 5 =0<br />

and the latter to sh 5 =1 (the 9-bit extended opcode<br />

413, shown on page 82, excludes the sh 5 bit).<br />

Two vertical bars (||) are used instead of primed<br />

mnemonics when an instruction occupies an entire<br />

column of a table. The instruction mnemonic is<br />

repeated in the last cell of the column.<br />

<br />

<br />

For primary opcode 31, an asterisk (*) in a cell that<br />

would otherwise be empty means that the cell is<br />

reserved because it is “overlaid”, by a fixed-point<br />

or Storage Access instruction having only a primary<br />

opcode, by an instruction having an<br />

extended opcode in primary opcode 30, 58, or 62,<br />

or by a potential instruction in any of the categories<br />

just mentioned. The overlaying instruction, if any,<br />

is also shown. A cell thus reserved should not be<br />

assigned to an instruction having primary opcode<br />

31. (The overlaying is a consequence of opcode<br />

decoding for fixed-point instructions: the primary<br />

opcode, and the extended opcode if any, are<br />

mapped internally to a 10-bit “compressed<br />

opcode” for ease of subsequent decoding.)<br />

Parentheses around the opcode or extended<br />

opcode mean that the instruction was defined in<br />

earlier versions of the <strong>Power</strong> ISA but is no longer<br />

defined in the <strong>Power</strong> ISA.<br />

Curly brackets around the opcode or extended<br />

opcode mean that the instruction will be defined in<br />

future versions of the <strong>Power</strong> ISA.<br />

long is used as filler for mnemonics that are longer<br />

than a table cell.<br />

An empty cell, a cell containing only an asterisk, or a<br />

cell in which the opcode or extended opcode is parenthesized,<br />

corresponds to an illegal instruction.<br />

The instruction consisting entirely of binary 0s causes<br />

the system illegal instruction error handler to be<br />

invoked for all members of the POWER family, and this<br />

is likely to remain true in future models (it is guaranteed<br />

in the <strong>Power</strong> ISA). An instruction having primary<br />

opcode 0 but not consisting entirely of binary 0s is<br />

reserved except for the following extended opcode<br />

(instruction bits 21:30).<br />

256 Service Processor “Attention” (<strong>Power</strong> ISA<br />

only)<br />

Appendix F. Opcode Maps<br />

745

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!