Вот как выглядить на Cortex-m3 простейшая задача, сохранить контекст рабочих регистров на стеке (r0-r3, r12,PSP уже там благодаря железу):
stmdb r0!, {r4-r11}
А так у Cortex-m0:
subs r0, r0, #(4 * 4) stmia r0!, {r4-r7} mov r4, r8 mov r5, r9 mov r6, r10 mov r7, r11 subs r0, r0, #(8 * 4) stmia r0!, {r4-r7} subs r0, r0, #(4 * 4)
Автодекремент, верхние регистры - использовать нельзя в stm/ldm. Writeback - обязателен.