汇编入门之windows平台ASM编译与链接

本文展示了如何将ASM源码编译为OBJ对象文件,然后链接成可执行的EXE文件。代码示例中,使用了stdcall调用约定,调用了WindowsAPI的MessageBox和ExitProcess函数,显示HelloWorld消息框并退出进程。

1.编译ASM为OBJ

ml -c -coff HelloWorld.asm

 2.链接OBJ为exe文件

link -subsystem:windows HelloWorld.obj

 3.运行程序

 测试源码:

;汇编支持特性
    .386
    .model flat,stdcall
    option casemap:none

;外部动态链接库
include    windows.inc
include    user32.inc
includelib user32.lib
include    kernel32.inc
includelib kernel32.lib

;数据段
    .data
szText     db  'HelloWorld',0

;代码段
    .code
start:
    invoke MessageBox,NULL,offset szText,NULL,MB_OK ;调用MessageBox函数
    invoke ExitProcess,NULL ;调用ExitProcess函数
    end start ;代码入口

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宏权实验室

有你的鼓励,我会更加努力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值