Может кто-нибудь объяснить мне побитовые операции ARM?

Кто-нибудь может объяснить мне битовые сдвиги ARM, как будто мне пять лет? Я очень плохо понимаю все, что связано с недесятичными системами счисления, поэтому понимание концепций битовых сдвигов и битовых операторов для меня сложно.

Что будет делать каждый из следующих случаев и почему (что окажется в R3 и что происходит за кулисами на уровне битов)?

/** LSL **/
mov r0, #1
mov r3, r0, LSL#10

/** LSR **/
mov r0, #1
mov r3, r0, LSR#10

/** ORR **/
mov r0, #1
mov r1, #4
orr r3, r1, r0

/** AND **/
mov r0, #1
mov r1, #4
and r3, r1, r0

/** BIC **/
mov r0, #1
mov r1, #4
bic r3, r1, r0

PS. Не объясняйте это в терминах битовых операторов языка Си. Я тоже не знаю, что они делают (>>, <<, |, &).

6
задан Kristina Brooks 28 January 2012 в 11:10
поделиться