AcornSearch - Acorn and RISC OS information searching
RISC OS Search
containing
"Nutty quip goes here!"
Home  |  About  |  Filebase Archive  |  StrongHelp Manuals  |  Newsgroups  |  Module Database
All instructions are conditionally executed. If the condition in the top four bits of the instruction is not met, then even illegal instructions will have no effect...

Condition field                         Execute IF

0000     EQ     :      Z          (equal)
0001     NE     :     ~Z          (not equal)
0010     CS/HS     :      C          (unsigned higher or same)
0011     CC/LO     :     ~C          (unsigned lower)
0100     MI     :      N          (negative)
0101     PL     :     ~N          (positive or zero)
0110     VS     :      V          (overflow)
0111     VC     :     ~V          (no overflow)
1000     HI     :      C and ~Z     (unsigned higher)
1001     LS     :     ~C or Z          (unsigned lower or same)
1010     GE     :      N = V          (signed higher or same)
1011     LT     :      N <> V     (signed lower)
1100     GT     :     ~Z and (N = V)     (signed higher)
1101     LE     :      Z or (N <> V)     (signed lower or same)
1110     AL     :      1          (always)
1111     NV     :      0          (see notes)

Where 1 is true, 0 is false, ~ is NOT


Notes:
Prior to ARM architecture 3, a condition code of 1111 would be executed "never".
In ARM architecture 3 and 4 the result of such an opcode was unpredictable.
In ARM architecture 5 and above, it has allowed an extension to the instruction set by using it as a marker for additional instructions which are executed unconditionally.

If you still want a no-op, you should use something like MOV R0,R0.

[sh-index] Back to list of manuals