当前位置: 网学 > 编程文档 > 汇编语言 > 正文

"hello,world!"win32汇编小程序

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
e文件夹下。
  
   还有,要用windows.inc,必须使用option casemap:none,它的意思是告诉 MASM 要区分符号的大小写,譬如:start和START是不一样的。否则,一个小小的程序,可能会出成百上千的错误呀!
  
   其他的,就不再细说啦,到此,上面的程序可重新修改如下:
-----------------------------------------------------------------
;最终的结果
        .386                    ;表示要用到386指令
        .model flat,stdcall     ;32位程序,要用flat啦!;stadcall,标准调用
        option casemap:none     ;区别大小写

include    windows.inc  ;包括常量及结构定义

include    kernel32.inc ;函数原型声明
include    user32.inc

includelib kernel32.lib ;用到的引入库
includelib user32.lib

          .data;数据区,定义2个字符串
szText    db "Hello, world!",0
szCaption db "Win32Asm",0

        .code ;代码开始执行处
start:
        invoke MessageBox,NULL,addr szText,addr szCaption,MB_OK 

          ;调用MessageBoxAPI函数
        invoke ExitProcess,NULL         ;程序退出
        end start;结束
------------------------------------
编译链接
        ml   /c /coff /I d:\masm7\include 3.asm   ;注意开关符识别大小写
        link /subsystem:windows /libpath:d:\masm7\lib 3.obj
        
        /I d:\masm7\include 表示*.inc文件的位置,也可设置环境变量Set include=d:\masm7\include来简化操作,也可在程序中明确指出*.inc的位置。
        
    前面讲的都是用两条指令来完成编译链接,实际上用一条指令也可完成,如下:
    ml /coff /I d:\masm7\include 3.asm /link /subsystem:windows /libpath:lib
    若*.inc及引入库在源程序中都明确指出其位置,则可简化为:
    ml /coff 3.asm /link /subsystem:windows

  • 上一篇资讯: TASM V5.0安装及注意事项
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号