Показать сообщение отдельно

  #2  
Старый 07.06.2025, 20:01
DarkPhantom
Новичок
Регистрация: 13.05.2024
Сообщений: 19
С нами: 1055778

Репутация: 8
По умолчанию

Цитата:
Сообщение от Lance_Sterling  

Мне нужно записать значение 0x10E00 в инструкцию MOV W0, #imm, чтобы увеличить размер структуры
Но 0x10E00 — это больше чем 16 бит, и поэтому не помещается в одну инструкцию MOVZ без сдвига.
Чтобы корректно записать его в W0, нужно две инструкции (MOVZ и MOVK), то есть 8 байт кода
Но если я запишу 8 байт, я затру следующую инструкцию, которая нужна для создания пула

Что делать в такой ситуации?
Попробуй использовать adrp для загрузки базового адреса , а затем add , что бы добавить нужное смещение .

Цитата:
Сообщение от DarkPhantom  

Попробуй использовать adrp для загрузки базового адреса , а затем add , что бы добавить нужное смещение .
Ну это единственное, что пришло в голову
 
Ответить с цитированием