assembler now no longer switches around r5 and r6