AFloating-point Operate format instruction contains a 6-bit opcode field and an 11-bit func- tion field. Unused function codes for those opcodes defined as reserved in the Version 5 Alpha architecture specification (May 1992) produce an illegal instruction trap. Those opcodes are 01, 02, 03, 04, 05, 06, 07, 14, 19, 1B, 1D, 1E, and 1F. For other opcodes, unused function codes produce UNPREDICTABLE but not UNDEFINED results; they are not security holes.

There are three operand fields, Fa, Fb, and Fc. Each operand field specifies either an integer or floating-point operand as defined by the instruction.

The Fa field specifies a source operand. Symbolically, the Fav operand is formed as follows:

IF inst<25:21> EQ 31 THEN

Fav 0

ELSE

Fav Fa

END

The Fb field specifies a source operand. Symbolically, the Fbv operand is formed as follows:

IF inst<20:16> EQ 31 THEN

Fbv 0

ELSE

Fbv Fb

END

Note:

Neither Fa nor Fb can be a literal in Floating-point Operate instructions.

The Fc field specifies a destination operand.

3.3.4.1 Floating-Point Convert Instructions

Floating-point Convert instructions use a subset of the Floating-point Operate format and per- form register-to-register conversion operations. The Fb operand specifies the source; the Fa field must be F31.

3.3.4.2 Floating-Point/Integer Register Moves

Instructions that move data between a floating-point register file and an integer register file are a subset of of the Floating-point Operate format. The unused source field must be 31.

3.3.5 PALcode Instruction Format

The Privileged Architecture Library (PALcode) format is used to specify extended processor functions. It has the format shown in Figure 3–6.

3–14Alpha Architecture Handbook

Page 54
Image 54
Compaq ECQD2KCTE PALcode Instruction Format, Floating-Point Convert Instructions, Floating-Point/Integer Register Moves