ExitProcess问题

Don_Juan 2009-04-06 11:57:16
.386
.model flat,stdcall
option casemap:none

include windows.inc
include user32.inc
includelib user32.lib
include gdi32.inc
includelib gdi32.lib
include kernel32.inc
includelib kernel32.lib

.data?
hInstance dd ?
hWinMain dd ?
.data
szClassName db 'myClass',0
szCaption db '天昊',0
szButtonText db '&OK',0
szButton db 'button',0
szText db '输出一段话',0

.code
_WinProc proc uses ebx edi esi,hWnd,uMsg,wParam,lParam

_WinProc endp
_WinMain proc
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
_WinMain endp
_MyTest proc
invoke MessageBox,NULL,offset szButton,offset szButtonText,MB_YESNO
xor eax,eax
ret
_MyTest endp
start:
call _WinMain
invoke ExitProcess,NULL
xor eax,eax
ret
call _MyTest

end start



谁能告诉我为什么_MyTest还有机会执行
...全文
95 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
BAYNPU 2009-04-06
  • 打赏
  • 举报
回复
这个程序可以在反汇编中追踪一下就清楚了.
cj1324 2009-04-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 Don_Juan 的帖子:]
.386
.model flat,stdcall
option casemap:none

include windows.inc
include user32.inc
includelib user32.lib
include gdi32.inc
includelib gdi32.lib
include kernel32.inc
includelib kernel32.lib

.data?
hInstance dd ?
hWinMain dd ?
.data
szClassName db 'myClass',0
szCaption db '天昊',0
szButtonText db '&OK',0
szButton db 'button',0
szText db '输出一段话',0

.…
[/Quote]

正解
cnzdgs 2009-04-06
  • 打赏
  • 举报
回复
_WinMain函数最后缺少ret指令,这样函数执行完后没有返回,而是继续执行后面的指令,也就是_MyTest函数。

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧