win32汇编MessageBox | 您所在的位置:网站首页 › purebasic博客 › win32汇编MessageBox |
32位处理器环境的段寄存器:内存描述符表的段选择子
简单的代码: .386 ;使用的指令集 .model flat, stdcall ;内存模型和默认的函数调用约定,后续proc和proto如果没写约定,就用此处默认的 option casemap:none ;大小写敏感
MessageBox equ MessageBoxA MessageBoxA proto : DWORD, : DWORD, : DWORD, : DWORD ;声明要调用的函数,链接时要加user32.lib选项
.data ;数据段,可读可写
.const ;只读数据段,只读 g_szHello db 'Hello World', 0 g_szTitle db 'The Title', 0
.data? ;未初始化数据段,可读可写
.code ;代码段,可读可执行
start: push 0 push offset g_szTitle push offset g_szHello push 0 call MessageBox ret end start 编译:ml /c /coff main.asm 链接:link32 /subsystem:windows main.obj user32.lib
简化版: .386 ;使用的指令集 .model flat, stdcall ;内存模型和默认的函数调用约定,后续proc和proto如果没写约定,就用此处默认的 option casemap:none ;大小写敏感
include windows.inc include user32.inc includelib user32.lib
.data ;数据段,可读可写
.const ;只读数据段,只读 g_szHello db 'Hello World', 0 g_szTitle db 'The Title', 0
.data? ;未初始化数据段,可读可写
.code ;代码段,可读可执行
start: invoke MessageBox, NULL, offset g_szHello, addr g_szTitle, MB_OK ret end start
OD: 查看-记录可以看记录
|
CopyRight 2018-2019 实验室设备网 版权所有 |