Does anyone know if there is a list of ARM instruction set pseudo instructions?
Or better yet, an instruction list like PPC's, where there is a list of 'true instructions' with mnemonics and
another list of "simplified mnemonics" (=pseudo instructions) in terms of the "true instructions" (mnemonics).
There are 499 ARM instructions listed in ARMv7-A/R ARM and going through them one by one is quite a job.
The "true" PPC instructions are explained much like ARM instructions in ARMv7-A/R ARM, but in the
"simplified mnemonics" chapter the pseudo instructions are described like:
How many pseudo instructions (roughly) are there for Cortex-A7?
ARMv7-A/R ARM doesn't seem to make a difference.
The basic LDR/STR instructions (bits 27 - 25 = 0 1 0 or 0 1 1) are pseudo instructions and there is really
two basic "single data load/store" instructions: the immediate form and the register form.
The special LDR/STR instructions (bits 27 - 25 = 0 0 0) (LDRH, STRD, ...) are different instructions:
the instruction bits have different meanings and/or are in different places.
Also some PC-related instructions are "true", because unlike with other registers, using PC also loads
the CPSR, so it's functionally different even if the encoding bits are exactly the same.
Funny how things look more clear after a good sleep.
It looks like I'm getting forward with the coding (at last).
The state-related restrictions of MSR/MRS instructions are horrible, though.
They generate a lot of checking code.