Computer Architecture & Assembly Language MCQs with Answers
Practice important Computer Architecture & Assembly Language MCQs with answers and explanations.
Multiple Choice Questions
Q241: How many PCBs (Process Control Blocks) are allocated in Example 11.2?
- A: 16
- B: 32
- C: 64
- D: 128
View Answer
B
Q242: In the provided assembly code, where are the task registers saved and restored?
- A: In the stack
- B: In the Process Control Block (PCB)
- C: In the data segment
- D: In a global variable
View Answer
B
Q243: What does the mov [cs:taskstates+bx+0], ax instruction do in the timer interrupt service routine?
- A: Saves the ax register value in the task state
- B: Updates the task state index
- C: Restores the ax register value from the task state
- D: Initializes the task state
View Answer
A
Q244: How is the stack space for each thread allocated in Example 11.2?
- A: Dynamically at runtime
- B: Statically at compile time
- C: Based on the size of the PCB
- D: By resizing the existing stack
View Answer
A
Q245: What does the shl instruction do in the context of PCB index manipulation?
- A: Shifts the PCB index to calculate the start address
- B: Multiplies the PCB index by 2
- C: Divides the PCB index by 2
- D: Resets the PCB index
View Answer
A
Q246: In Example 11.3, how is the multitasking kernel made available for use in other programs?
- A: By hooking a software interrupt
- B: By including it directly in the program
- C: By copying the code to each program
- D: By dynamically linking it
View Answer
A
Q247: What does the mov ax, 0xb800 instruction achieve in Example 11.1?
- A: Points the es register to the video memory base address
- B: Sets up a timer interrupt
- C: Initializes the stack pointer
- D: Configures the keyboard interrupt
View Answer
A
Q248: How are threads registered dynamically in Example 11.2?
- A: By using a linked list of PCBs
- B: By hardcoding thread information
- C: By pre-allocating a fixed number of threads
- D: By manually updating the PCB index
View Answer
A
Q249: What is the role of the cli instruction in the multitasking examples?
- A: Disables interrupts
- B: Enables interrupts
- C: Clears the screen
- D: Sets the interrupt priority level
View Answer
A
Q250: In Example 11.4, what is the purpose of the int 0x80 instruction?
- A: To invoke the multitasking kernel
- B: To terminate the program
- C: To set up the stack pointer
- D: To initialize the video display
View Answer
A