NEW
Font size
WorksheetsARM Instruction Set Quiz
Total questions: 25
Worksheet time: 19mins
What are the three groups of the ARM instruction set?
Data transfer, Data manipulation, Control flow
Data processing, Data transfer, Control flow
Data storage, Data retrieval, Control flow
Data processing, Memory management, Control flow
What does the MOV instruction do?
Moves a 16-bit value into a register
Moves a value from memory to memory
Moves a 64-bit value into a register
Moves a 32-bit value into a register
What is the result of the instruction 'SUB R3, R3, #1'?
R3 is decremented by 1
R3 is incremented by 1
R3 is set to 0
R3 is multiplied by 2
Which instruction is used for logical shift left?
LSR
ROR
LSL
ASR
What is the purpose of the TST instruction?
Tests bits by performing NOT operation
Tests bits by performing XOR operation
Tests bits by performing OR operation
Tests bits by performing AND operation
Which instruction performs a reverse subtraction?
ADD
ADC
SUB
RSB
What does the instruction 'CMN R1, R2' do?
Compares R1 + R2
Tests R1 XOR R2
Compares R1 - R2
Tests R1 AND R2
What is the result of the instruction 'EOR R1, R2'?
Performs a bitwise OR operation
Performs a bitwise AND operation
Performs a bitwise NOT operation
Performs a bitwise XOR operation
Which instruction does NOT produce a result in any register?
CMP
ADD
MOV
SUB
What does the instruction 'MVN' do?
Moves the NOT of a 32-bit value into a register
Moves a 32-bit value into a register
Moves a 64-bit value into a register
Moves a value from memory to memory
Which of the following instructions affects the conditional codes in CPSR?
CMP
MOV
ADD
SUB
What does the instruction 'ADD R1, R2, #2' do?
Adds 2 to the value in R2 and stores it in R1
Subtracts 2 from the value in R2 and stores it in R1
Moves the value of R2 to R1
Compares R1 and R2
What is the result of the instruction 'SBC R1, R2, C'?
Subtracts R1 from R2
Subtracts R2 from R1 along with the complement of carry bit
Adds R2 to R1 along with the carry bit
Compares R1 and R2
Which instruction is used to perform a logical shift right?
ROR
LSL
ASR
LSR
What does the instruction 'ADC' do?
Adds two values and a carry bit
Subtracts two values
Compares two values
Tests bits
What does the instruction LDR R1, [R0] do?
Loads address of R0 into R1
Loads the word at address R0 into R1
Stores value of R0 into R1
Loads immediate value into R1
What is the format of Multiple Register Load/Store in ARM?
LDR R1, [R2]
LDMIA R1, {R3, R4}
ADD R1, R2, R3
BNE loop
What does the instruction LDMIA R0, {R1, R2} mean?
Load memory pointed by R0 into R1 and R2, with post-increment
Load immediate values into R1 and R2
Multiply values in R0 and store in R1, R2
Load memory into R0 from R1, R2
In the instruction STR R1, [R0, #6], what is the effective address for storing?
Value at R0
Address R1
R0 + 6
R1 + 6
What is the result of the following?
MOV R1, #0xF0
MVN R2, R1
0x000000F0
0xFFFFFF0F
0x0000000F
0x000000FF
What is the value of R3 after this?
MOV R1, #0x0F
MOV R2, #0xF0
AND R3, R1, R2
0xFF
0x00
0x0F
0xF0
What is the value of R3 after this?
MOV R1, #0xAA
LSR R3, R1, #1
0x55
0xAA
0x00
0xFF
What is the final value of R4?
MOV R1, #10
MOV R2, #5
RSB R4, R2, R1
5
-5
0
15
MOV R0, #0x20000000
MOV R1, #0x12345678
STR R1, [R0]
LDR R2, [R0]
What is the value of R2 after execution?
0x12345678
0x20000000
0x00000000
Undefined
MOV R0, #0x20000000
LDMIA R0, {R4, R5}
If memory at 0x20000000 = 0x11111111 and 0x20000004 = 0x22222222, what are the values of R4 and R5?
R4 = 0x20000000, R5 = 0x20000004
R4 = 0x11111111, R5 = 0x22222222
R4 = 0x22222222, R5 = 0x11111111
Both are zero
