The AIX Version 4 assembler may parse some statements different from the previous version of the assembler. This different parsing is only a possibility for statements that meet all the following conditions:
If an assembler program has statements that meet all the conditions above, and the minus sign, or a plus sign in the same location, is intended to be part of the operands, not part of the mnemonic, the source program must be modified. This is especially important for minus signs, because moving a minus sign can significantly change the meaning of a statement.
The possibility of different parsing occurs in AIX Version 4 because the assembler was modified to support branch prediction extended mnemonics which use the plus sign and minus sign as part of the mnemonic. In previous versions of the assembler, letters and period (.) were the only possible characters in mnemonics. For information on using the new function, see "Extended Mnemonics for Branch Prediction".
bnea- 16 # Separator after the - , but none before # Now: bnea- is a Branch Prediction Mnemonic # and 16 is operand. # Previously: bnea was mnemonic # and -16 was operand.
bnea -16 # Separator in source program - Good practice bnea-16 # No separators before or after minus sign bnea - 16 # Separators before and after the minus sign
Extended Mnemonics for Branch Prediction