win32汇编MessageBox 您所在的位置:网站首页 purebasic博客 win32汇编MessageBox

win32汇编MessageBox

2024-01-15 11:43| 来源: 网络整理| 查看: 265

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 实验室设备网 版权所有