Как сохранить и восстановить только регистры CR2-CR4
в сборке ppc64le?Как сохранить и восстановить CR2-CR4 в ppc64le
Я знаю инструкцию mflr и mtlr. Но я хочу только cr2-cr4
Как сохранить и восстановить только регистры CR2-CR4
в сборке ppc64le?Как сохранить и восстановить CR2-CR4 в ppc64le
Я знаю инструкцию mflr и mtlr. Но я хочу только cr2-cr4
CRx
на самом деле не регистры, а 4-байтовые поля в 32-байтовом регистре. Вы можете получить более подробную информацию в разделе Power ISA 2.07 - см. Раздел 2.3, стр. 30.
mtlr
/mflr
Сохраните и восстановите реестр ссылок, который отличается: он используется для непрямого ветвления.
Вы можете сохранять и восстанавливать отдельные поля CR с mfocrf
/mtocrf
: смотрите Раздел 3.3.16.1, стр 112.
mfocrf r10,0x2
должен сохранить CR2
mfocrf r10,0x4
должен сохранить CR3
mfocrf r10,0x8
должны сохранить CR4
Вы могли бы теоретически сделать это на одном дыхании с mfcrf
(или расширенными мнемониками mtcr
и mfcr
), но они постепенно сокращаются.