Question: Assume the two register writes in the write-back stage for popq occur in the order listed in Figure 4.20.What would be the effect of executing
Assume the two register writes in the write-back stage for popq occur in the order listed in Figure 4.20.What would be the effect of executing popq %rsp? Does this conform to the desired behavior for Y86-64, as determined in Problem 4.8?
Problem 4.8
The following assembly-code function lets us determine the behavior of the instruction popq %rsp for x86-64:

We find this function always returns 0xabcd. What does this imply about the behavior of popq %rsp? What other Y86-64 instruction would have the exact same behavior?
1 2 3 5 6 7 8 text .globl poptest poptest: movq pushq popa movq movg ret %rap, %rdi $0xabcd %rsp %rap. %rax %rdi. %rsp Save stack pointer Push test value Pop to stack pointer Set popped value as return value Restore stack pointer
Step by Step Solution
3.31 Rating (154 Votes )
There are 3 Steps involved in it
Tracing the steps listed in Figure 420 with rA equal to ... View full answer
Get step-by-step solutions from verified subject matter experts
