Actually, the MOV r1,#32 only gave an error because I'd inserted .syntax unified
However, if you try it without that it compiles OK but the assembler silently generates a MOVS anyhow.
So I think that behaviour is unhelpful - you need a deep knowledge of the instruction set to realise that your Z flag is silently being trashed, whereas with the unified syntax you have to be explicit about status updates and get an error if you try to use an instruction that doesn't exist.
So I recommend always using .syntax unified
However, if you try it without that it compiles OK but the assembler silently generates a MOVS anyhow.
So I think that behaviour is unhelpful - you need a deep knowledge of the instruction set to realise that your Z flag is silently being trashed, whereas with the unified syntax you have to be explicit about status updates and get an error if you try to use an instruction that doesn't exist.
So I recommend always using .syntax unified
Statistics: Posted by arg001 — Tue Jul 02, 2024 1:08 pm