Мне было интересно, знает ли кто-нибудь из вас, что он является эквивалентом инструкции powerpc ниже.Что такое С-эквивалент rlwinm (инструкция PPC)
rlwinm r31, r0, 0,13,13
Thanks.
Мне было интересно, знает ли кто-нибудь из вас, что он является эквивалентом инструкции powerpc ниже.Что такое С-эквивалент rlwinm (инструкция PPC)
rlwinm r31, r0, 0,13,13
Thanks.
Вращайте левый регистр немедленно, затем and
с маской.
Повернуть налево 0 здесь, чтобы мы могли игнорировать это. Маска - это все биты, установленные от 13 до 13, а это только бит 13 (0x2000 в виде битмаски, эта команда, вероятно, была выбрана всего лишь and
для документирования того, что выбран бит 13).
Так что в этом случае нам нужно построить маску для бит 13, а затем применить побитовое значение and
с источником.
r31 = r0 & (1 << 13);
<<
является сдвиг влево операции в C, мы используем его здесь, чтобы создать маску только для бита 13. &
является и операция в С.
источник Документация: http://sametwice.com/rlwinm
Спасибо за ваш ответ! Я знаю, что я не задавал этого в оригинальном вопросе, но могли бы вы вкратце объяснить, как это работает? – Shark
Я отредактировал ответ, чтобы объяснить, как это работает более подробно. Если это правильно, вы можете принять ответ, чтобы закрыть вопрос (добавьте галочку в левой части) –
Еще раз спасибо, я принял ваш ответ как правильный, но мне просто интересно, откуда пришел 1? '1 << 13' – Shark