6.1.3堆栈的用途 1.临时保存寄存器的值 PUSH EAX PUSH EBX PUSH ECX PUSH EDX POP EDX POP ECX POP EBX POP EAX
6.1.3 堆栈的用途 1.临时保存寄存器的值 PUSH EAX PUSH EBX PUSH ECX PUSH EDX … POP EDX POP ECX POP EBX POP EAX
堆栈的用途(续) 2.临时保存变量的值 PUSH Count POP Count
堆栈的用途(续) 2.临时保存变量的值 PUSH Count … POP Count
堆栈的用途(续) 3.用于变量之间的数据传递 将变量Var1的内容传递给Var2 PUSH Varl POP Var2
堆栈的用途(续) 3.用于变量之间的数据传递 将变量Var1的内容传递给Var2: PUSH Var1 POP Var2
堆栈的用途(续) 4.交换两个变量Var1和Var2的值 PUSH Varl PUSH Var2 POP Var2 POP Varl
堆栈的用途(续) 4.交换两个变量Var1和Var2的值 PUSH Var1 PUSH Var2 POP Var2 POP Var1
堆栈的用途(续) 5.用做临时的数据区 6.子程序的调用和返回 在调用子程序时,CALL指令自动在堆栈中保 存其返回地址 ■从子程序返回时,RET指令从堆栈中取出返 回地址
堆栈的用途(续) 5.用做临时的数据区 6.子程序的调用和返回 ◼ 在调用子程序时,CALL指令自动在堆栈中保 存其返回地址 ◼ 从子程序返回时,RET指令从堆栈中取出返 回地址