Professional Documents
Culture Documents
Microquestion4 PDF
Microquestion4 PDF
r0,
r0,
r0,
r0,
r0,
#0x 00 00 03 FC
#0x 00 0A 70 00
#0x 2D C0 00 00
ANS:
0x 3F FF FF FF 0x C0 00 00 00
not
0x 7F FF FF FF 0x 80 00 00 00
Thus, AND NOT is performed instead of AND.
r0,
r1,
r2,
r3,
#0x
#0x
#0x
#0x
00
00
00
00
00
00
00
00
00
00
00
00
01
00
02
01
bic
bic
orr
bic
ANS:
r0,
mvn
r1,
mvn
r2,
ANS:
+255 = 0x 00 00 00 FF
not
255 = 0x FF FF FF 01 0x 00 00 00 FE
+254 = 0x 00 00 00 FE
mov
r0,
mvn
r1,
mov
r2,
r1,
r2,
r0,
r0,
#(3<<17)
#(7<<17)
0x6 = 0 1 1 0
0xE = 1 1 1 0
r1 = b31 . . . b20
b19 1 1 b16
b15 . . . b0
r2 = b31 . . . b20
0 0 0 b16
b15 . . . b0
r1,
r2,
r3,
r0,
r0,
r0,
#0x 00 00 FF 00
#0x 00 FF 00 00
#0x 00 00 00 FF
#0x C0 00 00 00
#0x 80 00 00 00
not
mvn
r0,
r0,
(3<<17) ( 6<<16) 0x 00 06 00 00
(7<<17) (14<<16) 0x 00 0E 00 00
not
2 = 0x FF FF FF FE 0x 00 00 00 01
not
3 = 0x FF FF FF FD 0x 00 00 00 02
r0,
r0,
ANS:
0x 7F FF FF FF
r0,
r0,
#(1<<31)+(1<<29)+(1<<28)
#(1<<31)+(1<<29)+(1<<28)
r1,
r2,
r1,
r2,
r0,
r0,
#(3<<17)
#(7<<17)
ANS:
0x6 = 0 1 1 0
0xE = 1 1 1 0
r1 = 0 . . . 0
0 b18 b17 0
0 ... 0
r2 = b31 . . . b20
b15 . . . b0
r1,
r2,
r3,
r0,
r0,
r0,
ANS:
r0,
r0,
#0x 00 00 FF 00
#0x 00 FF 00 00
#0x 00 00 00 FF
ANS:
#(1<<31)+(1<<29)+(1<<28)
#(1<<31)+(1<<29)+(1<<28)
ANS:
0x C2 5A E3 5B
XOR 0x B0 00 00 00
r1 = 0x 70 00 00 00
AND
XOR
0xC = (1100)2
0xB = (1011)2
0x7 = (0111)2
12. Write a code to perform the following logic operations on the registers (at most 4 instructions).
add
add
add
mov
r4,
r4,
r4,
r0,
r2,
r4,
r0,
r4,
r4,
r4,
r1
r2
r3
r4, ASR #2
0x 7F FF FF FF
0x 3F FF FF FF 0x C0 00 00 01
negate
0x 7F FF FF FF 0x 80 00 00 01
Thus, subtraction is used instead of addition.
r4,
r4,
r4,
r4,
r1
r2
r3
r4, LSR #2
r0,
r4,
r4,
r4,
r4,
r4,
r4,
r4,
and
eor
(3<<17) ( 6<<16) 0x 00 06 00 00
(7<<17) (14<<16) 0x 00 0E 00 00
and resets the bits of r1 where
1st immediate is zero. eor flips
b) r0 = NEGATE(r0)
d) r0 = 5 - r0
r1
r4
r3
sub
sub
r0,
r0,
r0,
r0,
#0x C0 00 00 01
#0x 80 00 00 01
r1
25
AE
35
B0
r2
AE
35
BC
25
r3
00
00
C2
5A
r4
FF
FF
C2
5A
r1
25
AE
35
B0
r2
AE
35
B4
25
r3
00
00
42
5A
r4
00
00
42
5A
r1,
r2,
r2,
r3,
r3,
r4,
r0,
r0,
r3,
#0x
#0x
r2,
r0,
#0x
r0,
00 00 00 FF extract byte0
00 00 FF 00 extract byte1
LSR # 8 make byte1 least significant
LSR #16 make byte2 least significant
00 00 00 FF extract byte2
LSR #24
extract byte3
r1
00
00
00
5B
r2
00
00
00
E3
r3
00
00
00
5A
r4
00
00
00
C2
r1,
r1,
r2,
r2,
r3,
r3,
r4,
r0,
r1,
r0,
r2,
r0,
r3,
r0,
LSL #24
ASR #24
LSL #16
ASR #24
LSL # 8
ASR #24
ASR #24
r1
00
00
00
5B
r2
FF
FF
FF
E3
r3
00
00
00
5A
r4
FF
FF
FF
C2