You copied the Doc URL to your clipboard.

--split_ldm assembler option

Instructs the assembler to fault LDM and STM instructions with a large number of registers.


This option is deprecated.

This option faults LDM instructions if the maximum number of registers transferred exceeds:

  • Five, for LDMs that do not load the PC.

  • Four, for LDMs that load the PC.

This option faults STM instructions if the maximum number of registers transferred exceeds 5.

Avoiding large multiple register transfers can reduce interrupt latency on ARM systems that:

  • Do not have a cache or a write buffer (for example, a cacheless ARM7TDMI).

  • Use zero wait-state, 32-bit memory.

Also, avoiding large multiple register transfers:

  • Always increases code size.

  • Has no significant benefit for cached systems or processors with a write buffer.

  • Has no benefit for systems without zero wait-state memory, or for systems with slow peripheral devices. Interrupt latency in such systems is determined by the number of cycles required for the slowest memory or peripheral access. This is typically much greater than the latency introduced by multiple register transfers.