woodhuman 发表于 2009-9-17 10:17:46

关于ret_sp这个宏的问题

ret_sp      macro      dummy                        
      local      llll, lll               
      even
      mov      sp, offset cs:lll      
      jmp      dummy
lll:
      dw      offset cs:llll                ; return address
llll:
endm

关于ret_sp这个宏我有一点没有搞明白
假设lll的地址为200h,那么mov      sp, offset cs:lll这条语句就是把200h赋给了SP,而jmp dummy中的dummy函数最后的ret语句相当于直接把sp pop给了IP,也就是说dummy执行完以后,IP直接回到了lll处,那么还要llll这个标号干什么呢?
为什么不能直接写成:
ret_sp      macro      dummy                        
      local      lll               
      even
      mov      sp, offset cs:lll      
      jmp      dummy
lll:
endm

请知道的指点一下,谢谢!

woodhuman 发表于 2009-9-17 19:49:24

问题已经解决,谢谢!
页: [1]
查看完整版本: 关于ret_sp这个宏的问题