Title: CSE 351 23au / LS8 x86-64 Programming II

Q: The Memory operand has 4 components and the form ____
A: D(Rb, Ri, S)

Q: Fill in the Memory operand address computation:
Reg[Rb] ___ Reg[Ri] ___ S + D
A: +, *, +
Reg[Rb] + Reg[Ri] * S + D

Q: True or false: The displacement value in the Memory operand can only be an immediate (without the ‘$’) or a constant
A: True

Q: In the Memory operand, what does ‘Rb’ represent?
A: The register whose value will be the "base" for the address calculation

Q: In the Memory operand, what does ‘Ri’ represent?
A: The register whose value will be scaled and added to the base

Q: To compute the address of the Memory operand, the scale factor (S) scales the value in ___
A: 'Ri'
Can only be 1, 2, 4, 8 to correspond to fixed size specifiers

Q: What are the values a scale factor scales by?
A: 1, 2, 4, 8

Q: What instruction is used when we don’t want to deference a memory operand, but want to use the address instead?
A: Load Effective Address (lea)

Q: True or false: For the ‘lea’ instruction, the source operand must be a register operand and the destination operand must be a memory operand
A: False
The source operand must be a memory operand.
The destination operand must be a register operand.