Существует аналогичное сообщение, посвященное обычным регистрам. Насчет НЕОНОВЫХ регистров. Насколько я помню, при вызове функций необходимо сохранять верхнюю или нижнюю половину регистров. Я нигде не могу найти эту информацию, может кто-нибудь уточнить?
Благодарность
Из AAPCS, §5.1.1 Основные регистры:
- r0-r3 - регистры аргументов и временные регистры; r0-r1 также являются регистрами результатов
- r4-r8 - регистры сохранения вызываемого абонента.
- r9 может быть регистром сохранения вызываемого абонента или нет (в некоторых вариантах AAPCS это специальный регистр)
- r10-r11 - регистры сохранения вызываемого абонента.
- r12-r15 - специальные регистры
Из AAPCS, §5.1.2.1 Соглашения об использовании регистров VFP (VFP v2, v3 и Advanced SIMD Extension):
- s16 – s31 (d8 – d15, q4 – q7) необходимо сохранить.
- s0 – s15 (d0 – d7, q0 – q3) и d16 – d31 (q8 – q15) сохранять не нужно.
5.1.2.1 VFP register usage conventions (VFP v2, v3 and the Advanced SIMD Extension)
охватываетFPSCR
, но неясно, следует ли вам что-то делать, чтобы сохранить это или нет. - person Pavel P   schedule 18.10.2018