如何在vs2005编写汇编程序?如何编译?

时间:2022-12-14 22:25:40
要按照什么SDK吗?比如windows.inc?? 最好是安装微软的

例如下面这个例子

;程序功能:显示一个信息框。
;ex1.asm(e:\masm\base) ;程序名
;编译链接方法:
;ml /c /coff  ex1.asm
;link /subsystem:console ex1.obj
.386 ;指明指令集
.model flat,stdcall ;程序工作模式,flat为Windows程序使用的模式(代码和数据
;使用同一个4GB段),stdcall为API调用时右边的参数先入栈
option casemap:none ;指明大小写敏感

include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib

.data ;数据段
szCaption db '抬头串',0
szText db 'Hello!',0

.code ;代码段
start:
invoke MessageBox, ;显示信息框
NULL, ;父窗口句柄
offset szText, ;正文串的地址
offset szCaption, ;抬头串的地址
MB_OK ;按钮

invoke ExitProcess, ;终止一个进程
NULL ;退出代码

end start ;指明程序入口点

14 个解决方案

#1


安装什么SDK才有windows.inc这些文件?

#2


可以安装MASM32或MASMPlus等。
如果调用的函数不多,自己写函数声明也可以。
VS2005中可以创建一个VC的MakeFile项目,在MakeFile中设置编译的命令行。

#3


#5


楼上的几位哥们..

安装什么SDK才有windows.inc这些文件?
微软有没包含系统的inc文件的SDK??

#6


微软的SDK没有提供汇编语言的头文件,MASM32或MASMPlus里面有。

#7


masm32v10.0 包中有

#8


学习~~~~

#9


学些!!!

#10


了解一下ml.exe的使用参数就知道该怎么编译汇编程序了。
另外h2inc.exe的使用方法也可以了解下,这是将.h文件转换为.inc文件的工具,
不过如果.h文件包含了汇编的关键字,转换会不成功,可以修改后再转换。

#11


引用 6 楼 cnzdgs 的回复:
微软的SDK没有提供汇编语言的头文件,MASM32或MASMPlus里面有。


这些非微软的头文件不会和WIN API 有误差吧?

#12


引用 10 楼 squallleonhart 的回复:
了解一下ml.exe的使用参数就知道该怎么编译汇编程序了。
另外h2inc.exe的使用方法也可以了解下,这是将.h文件转换为.inc文件的工具,
不过如果.h文件包含了汇编的关键字,转换会不成功,可以修改后再转换。


最新h2inc在哪里有?

#13


我记得vs2003附带有h2inc.exe,不过vs2005和vs2008却没有。
可以从vs2003光盘里面找下,另外安装了MASM32的话也有。

#14


谢谢大家了...

#1


安装什么SDK才有windows.inc这些文件?

#2


可以安装MASM32或MASMPlus等。
如果调用的函数不多,自己写函数声明也可以。
VS2005中可以创建一个VC的MakeFile项目,在MakeFile中设置编译的命令行。

#3


#4


#5


楼上的几位哥们..

安装什么SDK才有windows.inc这些文件?
微软有没包含系统的inc文件的SDK??

#6


微软的SDK没有提供汇编语言的头文件,MASM32或MASMPlus里面有。

#7


masm32v10.0 包中有

#8


学习~~~~

#9


学些!!!

#10


了解一下ml.exe的使用参数就知道该怎么编译汇编程序了。
另外h2inc.exe的使用方法也可以了解下,这是将.h文件转换为.inc文件的工具,
不过如果.h文件包含了汇编的关键字,转换会不成功,可以修改后再转换。

#11


引用 6 楼 cnzdgs 的回复:
微软的SDK没有提供汇编语言的头文件,MASM32或MASMPlus里面有。


这些非微软的头文件不会和WIN API 有误差吧?

#12


引用 10 楼 squallleonhart 的回复:
了解一下ml.exe的使用参数就知道该怎么编译汇编程序了。
另外h2inc.exe的使用方法也可以了解下,这是将.h文件转换为.inc文件的工具,
不过如果.h文件包含了汇编的关键字,转换会不成功,可以修改后再转换。


最新h2inc在哪里有?

#13


我记得vs2003附带有h2inc.exe,不过vs2005和vs2008却没有。
可以从vs2003光盘里面找下,另外安装了MASM32的话也有。

#14


谢谢大家了...