It starts by setting up a stack frame.
它首先设置一个堆栈框架。
Then you restore the stack frame and return.
之后再恢复堆栈框架并返回。
The prologue sets up the stack frame for the function.
序言为函数设置堆栈框架。
For right now, just know that it sets up the stack frame.
就目前而言,只需知道它将设置堆栈框架就可以了。
The stack frame is destroyed when the function returns.
一旦函数返回了值,那么该元素就会被销毁。
It optionally takes a stack frame address as an argument.
它可以有选择地将堆栈帧地址作为参数。
It never calls another function, so it doesn't need a stack frame.
它不会调用另一个函数,所以不需要堆栈框架。
LR_OFFSET is the offset into the stack frame of the return address.
LR_OFFSET是返回地址的堆栈框架的偏移量。
Calling a method or function pushes a new stack frame onto the stack.
当调用方法或者函数时,会有一个新的元素进栈。
The stack pointer tells you where the end of your current stack frame is.
堆栈指针给出的是当前堆栈框架的结束位置。
The first part of the stack frame is the non-volatile register save area.
堆栈帧的第一个部分是非易失性寄存器保存区。
All that is left to do is to restore the previous stack frame and return.
剩下要做的只是恢复先前的堆栈框架并返回。
However, it is a good example of how to set up and tear down a stack frame.
不过它却是如何建立和销毁堆栈帧的一个很好的例子。
The back chain pointer points to the back chain pointer of the previous stack frame.
回链指针指向前一个堆栈框架的回链指针。
It displays the stack frame for the suspended threads for each target you're debugging.
它可以显示每个调试目标中挂起线程的堆栈框架。
Once inside a function, a local stack frame is created by copying esp to ebp (line 62).
在函数内部,通过将esp复制到ebp(第62行)创建一个局部堆栈框架。
In this program you will have two stack frame sizes — one for main and one for factorial.
在本程序中,需要两个堆栈框架大小——一个用于main,一个用于factorial。
The computer refers to this point as the return address and keeps track of it in the stack frame.
计算机引用这一点作为返回地址,会在堆栈框架中跟踪它。
Displays the code for the current stack frame, highlighting the line that is about to be executed.
显示当前堆栈框架的代码,突出显示即将执行的代码行。
These will all be used to make access to stack frame offsets much clearer in the main body of code.
上述这些做法目的是使在代码的主体访问堆栈框架变得更为清楚明了。
Otherwise, it assumes the provided address as a valid stack frame start address and attempts to traceback.
否则,它假定所提供的地址是有效的堆栈帧起始地址并设法进行回溯。
The final item in the stack frame is a pointer to the previous stack frame, often called the back pointer.
堆栈帧中的最后一个条目是一个指向前一堆栈帧的指针,通常被称为后向指针(back pointer)。
You load register 3 with the return value and perform the function epilogue to restore the stack frame and return.
需要用返回值加载寄存器3并执行函数尾声(epilogue)来恢复堆栈框架并返回。
So, let's say that function func1 calls function func2 with three parameters, and func2 has a 112-byte stack frame.
让我们假设函数func1使用3个参数来调用func2,并且func2有一个112字节的堆栈帧。
Remember that the link register is stored in the calling function's stack frame, not the function's own stack frame.
请记住链接寄存器存储在调用函数的堆栈框架内,而非函数自身的堆栈框架。
Every time a function is called, a new stack frame (an area of memory inside the stack) is used to support the call.
每当调用一个函数,就会使用一个新的堆栈帧来支持该调用。
Since you have not yet defined your own stack frame, the offset is from the end of the calling function's stack frame.
由于您尚未定义自己的堆栈框架,所以偏移量是由调用函数的堆栈框架的末端算起的。
Internally, all the variables declared within a method, including the parameters, are stored together in a stack frame.
在内部,所有方法内部声明的变量,包括参数,都一起存储在堆栈框架中。
Notice that since there is nothing left to do in the function, the actual stack frame for the function is not needed either.
注意,由于在函数中不再做任何事情,那个函数的实际的栈结构也就不需要了。
Notice that since there is nothing left to do in the function, the actual stack frame for the function is not needed either.
注意,由于在函数中不再做任何事情,那个函数的实际的栈结构也就不需要了。
应用推荐