汇编语言WriteStackFrame过程:显示当前过程堆栈帧的内容

  • 内容
  • 评论
  • 相关

Irvine32 链接库有个很有用的过程 WriteStackFrame,用于显示当前过程堆栈帧的内容,其中包括过程的堆栈参数、返回地址、局部变量和被保存的寄存器。

该过程由太平洋路德大学 (Pacific Lutheran University) 的詹姆斯·布林克 (James Brink) 教授慷慨提供,原型如下:

WriteStackFrame PROTO,
    numParam:DWORD,               ;传递参数的数量
    numLocalVal: DWORD,           ;双字局部变量的数量
    numSavedReg: DWORD         ;被保存寄存器的数量

下面的代码节选自WriteStackFrame的演示程序:

main PROC
    mov eax, 0EAEAEAEAh
    mov ebx, 0EBEBEBEBh
    INVOKE myProc, 1111h, 2222h ;传递两个整数参数
    exit
main ENDP

myProc PROC USES eax ebx,
    x: DWORD, y: DWORD
    LOCAL a:DWORD, b:DWORD

    PARAMS = 2
    LOCALS = 2
    SAVED_REGS = 2
    mov a, 0AAAAh
    mov b, 0BBBBh
    INVOKE WriteStackFrame, PARAMS, LOCALS, SAVED_REGS

该调用生成的输岀如下所示:

本文标题:汇编语言WriteStackFrame过程:显示当前过程堆栈帧的内容

本文地址:http://www.hosteonscn.com/5447.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注