wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

ARM Instruction Set Quiz

Total questions: 25

Worksheet time: 19mins

Name
Class
Date
1.

What are the three groups of the ARM instruction set?

a)

Data transfer, Data manipulation, Control flow

b)

Data processing, Data transfer, Control flow

c)

Data storage, Data retrieval, Control flow

d)

Data processing, Memory management, Control flow

2.

What does the MOV instruction do?

a)

Moves a 16-bit value into a register

b)

Moves a value from memory to memory

c)

Moves a 64-bit value into a register

d)

Moves a 32-bit value into a register

3.

What is the result of the instruction 'SUB R3, R3, #1'?

a)

R3 is decremented by 1

b)

R3 is incremented by 1

c)

R3 is set to 0

d)

R3 is multiplied by 2

4.

Which instruction is used for logical shift left?

a)

LSR

b)

ROR

c)

LSL

d)

ASR

5.

What is the purpose of the TST instruction?

a)

Tests bits by performing NOT operation

b)

Tests bits by performing XOR operation

c)

Tests bits by performing OR operation

d)

Tests bits by performing AND operation

6.

Which instruction performs a reverse subtraction?

a)

ADD

b)

ADC

c)

SUB

d)

RSB

7.

What does the instruction 'CMN R1, R2' do?

a)

Compares R1 + R2

b)

Tests R1 XOR R2

c)

Compares R1 - R2

d)

Tests R1 AND R2

8.

What is the result of the instruction 'EOR R1, R2'?

a)

Performs a bitwise OR operation

b)

Performs a bitwise AND operation

c)

Performs a bitwise NOT operation

d)

Performs a bitwise XOR operation

9.

Which instruction does NOT produce a result in any register?

a)

CMP

b)

ADD

c)

MOV

d)

SUB

10.

What does the instruction 'MVN' do?

a)

Moves the NOT of a 32-bit value into a register

b)

Moves a 32-bit value into a register

c)

Moves a 64-bit value into a register

d)

Moves a value from memory to memory

11.

Which of the following instructions affects the conditional codes in CPSR?

a)

CMP

b)

MOV

c)

ADD

d)

SUB

12.

What does the instruction 'ADD R1, R2, #2' do?

a)

Adds 2 to the value in R2 and stores it in R1

b)

Subtracts 2 from the value in R2 and stores it in R1

c)

Moves the value of R2 to R1

d)

Compares R1 and R2

13.

What is the result of the instruction 'SBC R1, R2, C'?

a)

Subtracts R1 from R2

b)

Subtracts R2 from R1 along with the complement of carry bit

c)

Adds R2 to R1 along with the carry bit

d)

Compares R1 and R2

14.

Which instruction is used to perform a logical shift right?

a)

ROR

b)

LSL

c)

ASR

d)

LSR

15.

What does the instruction 'ADC' do?

a)

Adds two values and a carry bit

b)

Subtracts two values

c)

Compares two values

d)

Tests bits

16.

What does the instruction LDR R1, [R0] do?

a)

Loads address of R0 into R1

b)

Loads the word at address R0 into R1

c)

Stores value of R0 into R1

d)

Loads immediate value into R1

17.

What is the format of Multiple Register Load/Store in ARM?

a)

LDR R1, [R2]

b)

LDMIA R1, {R3, R4}

c)

ADD R1, R2, R3

d)

BNE loop

18.

What does the instruction LDMIA R0, {R1, R2} mean?

a)

Load memory pointed by R0 into R1 and R2, with post-increment

b)

Load immediate values into R1 and R2

c)

Multiply values in R0 and store in R1, R2

d)

Load memory into R0 from R1, R2

19.

In the instruction STR R1, [R0, #6], what is the effective address for storing?

a)

Value at R0

b)

Address R1

c)

R0 + 6

d)

R1 + 6

20.

What is the result of the following?
MOV R1, #0xF0

MVN R2, R1

a)

0x000000F0

b)

0xFFFFFF0F

c)

0x0000000F

d)

0x000000FF

21.

What is the value of R3 after this?
MOV R1, #0x0F

MOV R2, #0xF0

AND R3, R1, R2

a)

0xFF

b)

0x00

c)

0x0F

d)

0xF0

22.

What is the value of R3 after this?
MOV R1, #0xAA

LSR R3, R1, #1

a)

0x55

b)

0xAA

c)

0x00

d)

0xFF

23.

What is the final value of R4?
MOV R1, #10

MOV R2, #5

RSB R4, R2, R1

a)

5

b)

-5

c)

0

d)

15

24.

MOV R0, #0x20000000

MOV R1, #0x12345678

STR R1, [R0]

LDR R2, [R0]

What is the value of R2 after execution?

a)

0x12345678

b)

0x20000000

c)

0x00000000

d)

Undefined

25.

MOV R0, #0x20000000

LDMIA R0, {R4, R5}

If memory at 0x20000000 = 0x11111111 and 0x20000004 = 0x22222222, what are the values of R4 and R5?

a)

R4 = 0x20000000, R5 = 0x20000004

b)

R4 = 0x11111111, R5 = 0x22222222

c)

R4 = 0x22222222, R5 = 0x11111111

d)

Both are zero