MBR (mbr) wrote,
MBR
mbr

ARMv6 vs ARMv7

Если вы думаете, что между cortex-m0 и cortex-m3 нет принципиальной разницы, вы сильно заблуждаетесь :)

Вот как выглядить на 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 - обязателен.
Tags: embed, it
Subscribe

  • Победил битрикс

    Раньше рассказывал, как мы пытаемся битрикс внедрить. Сначала просто дал задачу вебщику подергать странички и собрать отчет по линкам. Ад. Там…

  • Советский инженер - это звучит гордо

    Порадовался с последнего стеба vladimir_akinin над программистами. Однако в комменты выползло какое-то количество старых пердунов,…

  • Сезон 2021

    Весна началась, а значит пора новой стройки Делать пристройку в этот раз решил полностью по платформе, дабы не переломали все ноги, выходя из…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments