call / ret:返回地址如何完成“去那里,再回来”

指令序列
0x401000: mov eax, 1
0x401005: call add
0x40100A: mov [sum], eax
0x401020 <add>: push ebp
0x40102E: ret
eip
esp
栈顶变化