CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  汇编语言

32位汇编自定义子函数的返回值问题

楼主mblzds(想学但人又懒)2005-11-22 11:56:25 在 其他开发语言 / 汇编语言 提问

请问自己做的子函数可像系统提供的API函数一样可以返回一个有用的返回值  
  如果可以的该怎么搞,最好有个例子。谢谢了! 问题点数:20、回复次数:3Top

1 楼mydo(侯佩|hopy|ks)回复于 2005-11-22 12:24:22 得分 20

.386  
  .model   flat,stdcall  
  option   casemap   :none  
   
  include h:\masm32\include\windows.inc  
  include   h:\masm32\include\user32.inc  
  include   h:\masm32\include\kernel32.inc  
  includelib h:\masm32\lib\user32.lib  
  includelib h:\masm32\lib\kernel32.lib  
   
  .data  
  buf db 256 dup (?)  
   
  .code  
  fuc proc _val0,_val1  
  local @sum  
   
  pushad  
   
  mov eax,_val0  
  add eax,_val1  
  mov @sum,eax  
   
  popad  
  mov eax,@sum  
  ret  
   
  fuc endp  
  ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  start:  
  invoke fuc,12345,67890  
   
  ;now   the   return   value   is   in   EAX  
   
  invoke ExitProcess,NULL  
  ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  end startTop

2 楼mblzds(想学但人又懒)回复于 2005-11-22 14:40:54 得分 0

哦!就是把你想返回的赋给EAX就可以啊!去实践看看!谢谢楼上那位大哥!Top

3 楼mblzds(想学但人又懒)回复于 2005-11-22 15:45:48 得分 0

呵呵!原来是利用现场保护的的原理,对存储返回值的寄存器不进行保护。Top

相关问题

  • 关于子函数的返回值
  • 怎样编写供C调用的汇编子函数?
  • 怎么在一个子函数中返回多个返回值
  • 在tc环境下,子函数如何返回多个指针?
  • 子函数怎么返回CStdioFile类型得值
  • 钩子函数????
  • 钩子函数
  • 自定义函数的返回值???
  • webservice如何返回自定义类型
  • 求教自定义返回的行数

关键词

  • 返回
  • masm
  • val
  • lib
  • include

得分解答快速导航

  • 帖主:mblzds
  • mydo

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo