| |||
| Home > VFP Programming > Pre-UAL VFP mnemonics | |||
Where UAL mnemonics use .F32 to specify
single-precision data, pre-UAL mnemonics use S appended
to the instruction mnemonic. For example, VABS.F32 was FABSS.
Where UAL mnemonics use .F64 to specify
double-precision data, pre-UAL mnemonics use D appended
to the instruction mnemonic. For example, VCMPE.F64 was FCMPED.
Table 36 shows
the pre-UAL mnemonics of those instructions that are affected by
VFP vector mode. All other VFP instructions are always scalar regardless
of the settings of LEN and STRIDE.
Table 36. Pre-UAL VFP mnemonics
| UAL mnemonic | Equivalent pre-UAL mnemonic |
|---|---|
VABS | FABS |
VADD | FADD |
VDIV | FDIV |
VMLA | FMAC |
VMLS | FNMAC |
VMOV (immediate) | FCONST [a] |
VMOV (register) | FCPY |
VMUL | FMUL |
VNEG | FNEG |
VNMLA | FNMSC |
VNMLS | FMSC |
VNMUL | FNMUL |
VSQRT | FSQRT |
VSUB | FSUB |
[a] The immediate
in | |
Table 37 shows
the floating-point values you can load using FCONST.
Trailing zeroes are omitted for clarity. The immediate value you
must put in the FCONST instruction is the decimal representation
of the binary number abcdefgh, where:
ais 0 for positive numbers, or 1 for negative numbers
bcdis shown in the column headings
efghis shown in the row headings.
Alternatively, you can use 0x followed
by the hexadecimal representation.
Table 37. Floating-point values for use with FCONST
| bcd | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | |
|---|---|---|---|---|---|---|---|---|---|
| efgh | |||||||||
| 0000 | 2.0 | 4.0 | 8.0 | 16.0 | 0.125 | 0.25 | 0.5 | 1.0 | |
| 0001 | 2.125 | 4.25 | 8.5 | 17.0 | 0.1328125 | 0.265625 | 0.53125 | 1.0625 | |
| 0010 | 2.25 | 4.5 | 9.0 | 18.0 | 0.140625 | 0.28125 | 0.5625 | 1.125 | |
| 0011 | 2.375 | 4.75 | 9.5 | 19.0 | 0.1484375 | 0.296875 | 0.59375 | 1.1875 | |
| 0100 | 2.5 | 5.0 | 10.0 | 20.0 | 0.15625 | 0.3125 | 0.625 | 1.25 | |
| 0101 | 2.625 | 5.25 | 10.5 | 21.0 | 0.1640625 | 0.328125 | 0.65625 | 1.3125 | |
| 0110 | 2.75 | 5.5 | 11.0 | 22.0 | 0.171875 | 0.34375 | 0.6875 | 1.375 | |
| 0111 | 2.875 | 5.75 | 11.5 | 23.0 | 0.1796875 | 0.359375 | 0.71875 | 1.4375 | |
| 1000 | 3.0 | 6.0 | 12.0 | 24.0 | 0.1875 | 0.375 | 0.75 | 1.5 | |
| 1001 | 3.125 | 6.25 | 12.5 | 25.0 | 0.1953125 | 0.390625 | 0.78125 | 1.5625 | |
| 1010 | 3.25 | 6.5 | 13.0 | 26.0 | 0.203125 | 0.40625 | 0.8125 | 1.625 | |
| 1011 | 3.375 | 6.75 | 13.5 | 27.0 | 0.2109375 | 0.421875 | 0.84375 | 1.6875 | |
| 1100 | 3.5 | 7.0 | 14.0 | 28.0 | 0.21875 | 0.4375 | 0.875 | 1.75 | |
| 1101 | 3.625 | 7.25 | 14.5 | 29.0 | 0.2265625 | 0.453125 | 0.90625 | 1.8125 | |
| 1110 | 3.75 | 7.5 | 15.0 | 30.0 | 0.234375 | 0.46875 | 0.9375 | 1.875 | |
| 1111 | 3.875 | 7.75 | 15.5 | 31.0 | 0.2421875 | 0.484375 | 0.96875 | 1.9375 |