看到还有人喜欢汇编的安利一个上位机汇编程序开发

2019-12-10 18:11发布

本帖最后由 CoolBird007 于 2019-10-12 19:51 编辑

没错,说的就是用汇编编写WINDOWS程序。
这里只作为一个最最最简单的例程,喜欢的可以买书去。

首先,从这里下载 MASM32V11。只有几兆。
http://www.masm32.com/download.htm

我是从下面两个连接下载的。
Australia 1
For programmers in Australia, China, South East Asia and the Pacific region.
下载网站从中国的程序员。

Australia 2
For programmers in Australia, China, South East Asia and the Pacific region.
下载网站从中国的程序员。

下载后解压,点install安装(注意提示,是要你点那个写着install图标)。。一路确定下去就行了。

完装完成之后,给程序添加环境变量,安装过JDK的就知道怎么添加了,不过。这里给一个批处理文件,在命令行模式下运行就行了。

var.bat内容如下,设置masm32环境变量。保存到 C:WINDOWS目录下。

@echo off
rem 请根据 Masm32 软件包的安装目录修改下面的 Masm32Dir 环境变量!
set Masm32Dir=C:Masm32
set include=%Masm32Dir%Include;%include%
set lib=%Masm32Dir%lib;%lib%
set path=%Masm32Dir%Bin;%Masm32Dir%;%PATH%
set Masm32Dir=
echo on

然后来编写第一个 helloword.


用记事本编写 hello.asm,当然你也可以用任何文本编辑软件,也可以使用MASM32包里的开发环境。

这是分隔线,没鸟用------------------------------------------------------------------------

                .386
                .model flat,stdcall
                option casemap:none
include                windows.inc
include                user32.inc
includelib        user32.lib
include                kernel32.inc
includelib        kernel32.lib
                .data

szCaption        db        '恭喜',0
szText                db        '当您看到这个信息的时候,您已经可以编译Win32汇编程序了!',0

                .code
start:
                invoke        MessageBox,NULL,offset szText,offset szCaption,MB_OK
                invoke        ExitProcess,NULL
                end        start

这是分隔线,没鸟用------------------------------------------------------------------------

保存为 asm文件,记事本默认保存为TXT文件,所以,在保存文件名里输入"hello.asm",就是加上双引号就行了。

假设你保存到了C盘根目录,打开命令提示符(开始菜单-所有程序-附件-命令提示符)
运行之前的环境变量批处理文件。

c:>var 回车
c:>ml /c /coff hello.asm
c:>Link /subsystem:windows hello.obj

编译之后就可以看到生成的 hello.exe,双击运行就可以看到效果了。

---------------------------------------------------------------------------------------------------

再来一个基本控制的例程,程序看附件。不能上传太多了,因为是买书附带的光盘。只是让大家看看其实跟用VC一样可以写出大型应用程序的。

Control.rar (53.41 KB, 下载次数: 7) 2019-10-12 19:49 上传 点击文件名下载附件
control.jpg (118.23 KB, 下载次数: 0) 下载附件 2019-10-12 19:49 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。