I did this program:
Code: Select all
move.l #(0b1010 ^ 0b1001),%d0
move.l #(0b1010 & 0b1001),%d0
move.l #(0b1010 | 0b1001),%d0
move.l #(0b1010 ! 0b1001),%d0
move.l #(! 0b1001),%d0
move.l #(0b1010 ~ 0b1001),%d0
move.l #(~ 0b1001),%d0
with "-Wa,--bitwise-or" options it compile to:
Code: Select all
moveq #$3, D0
moveq #$8, D0
moveq #$b, D0
moveq #$-2, D0
moveq #$0, D0
error
moveq #$-a, D0
without "-Wa,--bitwise-or" option does this:
Code: Select all
moveq #$3, D0
moveq #$8, D0
error
moveq #$-2, D0
moveq #$0, D0
error
moveq #$-a, D0
Conclusions:
Code: Select all
& AND
| OR with "-Wa,--bitwise-or"
^ XOR
~ NOT
! a OR (NOT b)
! also works as unary, but seems to always result to 0 (?!?)
(all operators are binary)
While in C differs in:
HELP. Spanish TVs are brain washing people to be hostile to me.