Podcast
Questions and Answers
What does an immediate operand represent in Y86?
What does an immediate operand represent in Y86?
- An undefined value
- A register value
- A constant value (correct)
- A memory address
In Y86, which type of instruction affects both read and write operations on the destination operand?
In Y86, which type of instruction affects both read and write operations on the destination operand?
- Data movement instructions
- Memory instructions
- ALU instructions (correct)
- Control instructions
What kind of operands do all 4 ALU instructions in Y86 use?
What kind of operands do all 4 ALU instructions in Y86 use?
- Two register operands (correct)
- Three register operands
- Immediate operands
- Memory operands
Which type of Y86 instructions set the 3 flags used in the architecture?
Which type of Y86 instructions set the 3 flags used in the architecture?
How are address expressions for memory operands structured in Y86?
How are address expressions for memory operands structured in Y86?
What happens to the flags when non-ALU instructions are executed in Y86?
What happens to the flags when non-ALU instructions are executed in Y86?
Which type of jump instruction is unconditional in Y86?
Which type of jump instruction is unconditional in Y86?
What must be the condition of flags for a 'je' instruction to take the jump in Y86?
What must be the condition of flags for a 'je' instruction to take the jump in Y86?
'jg' instruction in Y86 stands for:
'jg' instruction in Y86 stands for:
'rrmovq' instruction in Y86 is used for:
'rrmovq' instruction in Y86 is used for:
What happens when a jump (or branch) is not taken in Y86?
What happens when a jump (or branch) is not taken in Y86?
How does the stack grow in memory when new data is pushed onto it in Y86?
How does the stack grow in memory when new data is pushed onto it in Y86?
What is the purpose of saving the calling subroutine's rbp before setting its own base/frame pointer?
What is the purpose of saving the calling subroutine's rbp before setting its own base/frame pointer?
In Y86, how are parameters passed on the stack?
In Y86, how are parameters passed on the stack?
What does each subroutine in Y86 receive to use as a portion of the stack?
What does each subroutine in Y86 receive to use as a portion of the stack?
What is always pushed onto the stack after all parameters when calling a subroutine?
What is always pushed onto the stack after all parameters when calling a subroutine?
What do labels represent in Y86?
What do labels represent in Y86?
What are two things that the call instruction in Y86 accomplishes?
What are two things that the call instruction in Y86 accomplishes?
What do the pushq and popq instructions do in Y86?
What do the pushq and popq instructions do in Y86?
What two things does the ret instruction do in Y86?
What two things does the ret instruction do in Y86?