The immediate mode instructions were accepting a byte operation on an address register; however, the address register would not be updated. This has been switched to an illegal op. This would not be an issue except for hand generated code.
Bug fix:For the ADDQ / SUBQ instructions only long words were supported for address registers. This should have been both word and long word forms. For word operations the register would be updated without extending the low order word.
RefactoringMoved setting of the condition code register flags out to its own module. This was a major modification.
EnhancementsThe second major modification was to add a bank instruction prefix allowing the selection of up to 32 registers for an instruction. The BANK prefix contains a simple two-bit extension for corresponding register fields in the following instruction. It works slightly differently than the BANK prefix of the Apollo core.
Code:
BANK
+---+-----+---+----+----+----+----+
| 7 | xxx | 1 | dd | cc | bb | aa |
+---+-----+---+----+----+----+----+
Generally
aa extends the Xn field of the instruction which is the register for the address mode, bits [2:0] of the instruction.
bb extends the Rn field of the instruction where there is a second register specified, typically bits [11:9] of the instruction.
cc may be used to extend the index register selection.
dd used by CAS instruction.