本帖最后由 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 上传
以前写汇编课大作业用过masm32
masm的各种宏很好用,和高级语言差不多,
复杂运算可以用simd写成函数编译成obj,在高级语言调用编译时直接link
其实代码很少的,占地方的一是编译器生成的一些诊断信息,二是调试信息,三是导入导出信息,四是内嵌的一些model、bin数组文件等等。
控制IO口,读写数据,感觉跟写MCU程序也差不多,那时也会用单片机了
一周热门 更多>