Types of Instructions (Data Movement, Arithmetic, Control) MCQs

By: Prof. Dr. Fazal Rehman Shamil | Last updated: September 20, 2024

1. What is the primary purpose of data movement instructions?

a) Perform arithmetic operations
b) Transfer data between registers and memory
c) Manage input/output operations
d) Control the program flow

Answer: b) Transfer data between registers and memory


2. Which of the following is an example of a data movement instruction?

a) ADD
b) MOV
c) SUB
d) JMP

Answer: b) MOV


3. Which type of instruction performs calculations like addition or subtraction?

a) Control instruction
b) Arithmetic instruction
c) Data movement instruction
d) Logical instruction

Answer: b) Arithmetic instruction


4. What is the function of control instructions in a program?

a) Move data between memory and registers
b) Perform arithmetic operations
c) Alter the sequence of execution
d) Perform logical operations

Answer: c) Alter the sequence of execution


5. Which of the following is a common control instruction?

a) MOV
b) ADD
c) JMP
d) SUB

Answer: c) JMP


6. In most architectures, the LOAD instruction is classified as a:

a) Data movement instruction
b) Arithmetic instruction
c) Logical instruction
d) Control instruction

Answer: a) Data movement instruction


7. The SUB instruction is used to:

a) Move data from one register to another
b) Subtract two values
c) Control program flow
d) Shift bits

Answer: b) Subtract two values


8. Which of the following instructions is used to control conditional program execution?

a) CMP
b) MOV
c) INC
d) ADD

Answer: a) CMP


9. What is the role of the JMP instruction?

a) Add two values
b) Compare two values
c) Transfer program control unconditionally
d) Load a value into a register

Answer: c) Transfer program control unconditionally


10. The MOV instruction typically performs which of the following actions?

a) Arithmetic operations
b) Logical comparison
c) Transfer data between registers or memory
d) Perform multiplication

Answer: c) Transfer data between registers or memory


11. Which of the following instructions would you use to branch to a specific part of a program based on a condition?

a) JZ (Jump if Zero)
b) MOV
c) INC
d) SUB

Answer: a) JZ (Jump if Zero)


12. The INC instruction is used to:

a) Decrement a value by 1
b) Increment a value by 1
c) Multiply two values
d) Shift a value left

Answer: b) Increment a value by 1


13. The instruction JNZ performs which operation?

a) Jump if the result is negative
b) Jump if the zero flag is not set
c) Jump to the next instruction
d) Jump if the result is positive

Answer: b) Jump if the zero flag is not set


14. What is the purpose of the AND instruction?

a) Perform bitwise comparison
b) Perform addition
c) Perform subtraction
d) Transfer data

Answer: a) Perform bitwise comparison


15. Which instruction is typically used to move data from memory to a register?

a) MOV
b) ADD
c) JMP
d) SUB

Answer: a) MOV


16. In which category does the CALL instruction fall?

a) Data movement instruction
b) Arithmetic instruction
c) Control instruction
d) Logical instruction

Answer: c) Control instruction


17. The instruction CMP is used to:

a) Move data
b) Compare two values
c) Subtract two values
d) Multiply two values

Answer: b) Compare two values


18. What does the HLT instruction do in a program?

a) Adds two values
b) Stops program execution
c) Transfers data
d) Compares values

Answer: b) Stops program execution


19. Which of the following is a control transfer instruction?

a) ADD
b) MOV
c) JMP
d) SUB

Answer: c) JMP


20. The DEC instruction is used to:

a) Increment a value
b) Decrement a value
c) Transfer data
d) Compare values

Answer: b) Decrement a value


21. What is the purpose of the XOR instruction?

a) Perform bitwise exclusive OR
b) Add two values
c) Subtract two values
d) Transfer data

Answer: a) Perform bitwise exclusive OR


22. Which instruction moves a constant value into a register?

a) MOV
b) ADD
c) JMP
d) DEC

Answer: a) MOV


23. Which of the following instructions branches program control to a different location based on a flag condition?

a) JZ
b) INC
c) MUL
d) MOV

Answer: a) JZ


24. Which instruction adds two register values and stores the result in one of the registers?

a) ADD
b) CMP
c) MOV
d) JMP

Answer: a) ADD


25. Which of the following instructions is used to decrement the value in a register?

a) INC
b) DEC
c) SUB
d) MOV

Answer: b) DEC


26. What is the primary purpose of arithmetic instructions like MUL and DIV?

a) Control the flow of execution
b) Perform calculations such as multiplication and division
c) Move data from memory to registers
d) Compare two values

Answer: b) Perform calculations such as multiplication and division


27. The JMP instruction performs which of the following?

a) Compares two values
b) Moves data between registers
c) Transfers control to a different part of the program
d) Adds two values

Answer: c) Transfers control to a different part of the program


28. Which instruction performs a division operation?

a) DIV
b) MUL
c) ADD
d) MOV

Answer: a) DIV


29. Which of the following is an example of a control flow instruction?

a) MOV
b) ADD
c) JMP
d) INC

Answer: c) JMP


30. Which instruction is used to move data from a register to memory?

a) MOV
b) ADD
c) INC
d) DIV

Answer: a) MOV


31. The NOP instruction is used to:

a) Subtract two numbers
b) Do nothing (no operation)
c) Perform a bitwise OR
d) Move data

Answer: b) Do nothing (no operation)


32. What does the RET instruction do in a subroutine?

a) Ends program execution
b) Returns control to the calling procedure
c) Moves data between registers
d) Subtracts two values

Answer: b) Returns control to the calling procedure


33. The OR instruction is used to:

a) Perform a bitwise OR between two values
b) Subtract two values
c) Move data between registers
d) Compare two values

Answer: a) Perform a bitwise OR between two values


34. Which of the following instructions causes a jump to a subroutine?

a) JMP
b) CALL
c) MOV
d) RET

Answer: b) CALL


35. The SHL instruction performs which operation?

a) Shift bits to the left
b) Shift bits to the right
c) Compare two values
d) Add two values

Answer: a) Shift bits to the left


36. Which instruction is used to compare the contents of two registers without modifying them?

a) CMP
b) ADD
c) SUB
d) MOV

Answer: a) CMP


37. What is the primary function of the TEST instruction?

a) Test the result of a bitwise AND operation
b) Move data between memory and registers
c) Compare two numbers
d) Add two values

Answer: a) Test the result of a bitwise AND operation


38. Which instruction moves data from one register to another?

a) MOV
b) JMP
c) ADD
d) DEC

Answer: a) MOV


39. The JE (Jump if Equal) instruction does what?

a) Moves data between registers
b) Jumps if the comparison result is equal
c) Jumps if the result is negative
d) Adds two values

Answer: b) Jumps if the comparison result is equal


40. Which instruction would you use to multiply two numbers?

a) MUL
b) DIV
c) ADD
d) MOV

Answer: a) MUL


41. The NEG instruction is used to:

a) Move data between registers
b) Perform subtraction
c) Invert the sign of a number
d) Compare two values

Answer: c) Invert the sign of a number


42. What does the POP instruction do?

a) Moves data between registers
b) Loads a value from memory onto the stack
c) Removes the top value from the stack
d) Transfers control to a different part of the program

Answer: c) Removes the top value from the stack


43. Which instruction performs addition on two operands?

a) ADD
b) SUB
c) MUL
d) MOV

Answer: a) ADD


44. Which instruction loads data from the stack to a register?

a) PUSH
b) POP
c) JMP
d) MOV

Answer: b) POP


45. The DIV instruction performs which function?

a) Divides two numbers
b) Multiplies two numbers
c) Moves data between registers
d) Adds two numbers

Answer: a) Divides two numbers


46. The JNZ instruction transfers control if:

a) The result is zero
b) The result is not zero
c) Two values are equal
d) The result is positive

Answer: b) The result is not zero


47. The ADC instruction does what?

a) Adds with carry
b) Compares two values
c) Shifts bits left
d) Transfers control

Answer: a) Adds with carry


48. The CMP instruction is typically followed by which instruction?

a) ADD
b) SUB
c) JMP
d) MOV

Answer: c) JMP


49. The SHR instruction performs which operation?

a) Shift bits to the right
b) Shift bits to the left
c) Add two values
d) Subtract two values

Answer: a) Shift bits to the right


50. The XCHG instruction is used to:

a) Swap the contents of two registers
b) Add two values
c) Compare two values
d) Transfer control

Answer: a) Swap the contents of two registers

Read More Computer Architecture MCQs

  1. SET 1: Computer Architecture MCQs
  2. SET 2: Computer Architecture MCQs
  3. SET 3: Computer Architecture MCQs
  4. SET 4: Computer Architecture MCQs
  5. SET 5: Computer Architecture MCQs
  6. SET 6: Computer Architecture MCQs
  7. SET 7: Computer Architecture MCQs
  8. SET 8: Computer Architecture MCQs
  9. SET 9: Computer Architecture MCQs