注册 登录
编程论坛 汇编论坛

求助:如何在visual studio 2005中编译汇编代码?

rediums 发布于 2008-01-15 15:52, 9982 次点击
最近开始学习汇编语言,想用visual studio作为编译工具,谁能告诉我怎么在visual studio 2005中建立一个汇编程序呀,以及程序如何调试?
最好给个完整的过程,先谢谢了。。。
16 回复
#2
rediums2008-03-08 23:06
发了这么久的帖子没人帮忙,呵呵,自己顶了,已经会了
#3
电脑爱好者2008-03-09 12:27
vS不是汇编开发环境。
建议用MasmPlus,www.
#4
cnlethe2008-08-14 16:33
呵呵,楼主,我不会呀,你教教我呀,发封MAIL给我吧,先谢谢了,quietofworld@
#5
zklhp2008-08-14 18:30
[bo][un]cnlethe[/un] 在 2008-8-14 16:33 的发言:[/bo]

呵呵,楼主,我不会呀,你教教我呀,发封MAIL给我吧,先谢谢了,quietofworld@


建议你先找基础的教程看看

在vc里 可以用 _asm mov eax,12345678h  或

asm
{
   mov eax,12345678h
   mov ebx,12345678h
}

写点简单的汇编代码 不过有些语句不支持 建议汇编还是用masmplus做ide
#6
病书生2008-08-16 21:04
应用Visual C++ 2005速成版和MASM 8.0

应用Visual C++ 2005速成版和MASM 8.0的汇编环境配置
1、先安装“Visual C++ 2005 Express Edition”,实际上微软将中文版的“Visual C++ 2005 Express Edition”称为“Visual C++ 2005速成版”,的然后安装MASM 8.0,因为MASM 8.0的安装要以Visual C++ 2005速成版为前提。这两个软件都可以从微软的官方网站上免费下载和使用。
2、新建空白项目。启动Visual C++ 2005速成版,选择“文件/新建/项目”菜单项,打开“新建项目”窗口。
在“新建项目”窗口选择模板框中的“emptyproj”,可以使用默认的“名称、位置、解决方案名称”,并勾选“创建解决方案目录”,单击“确定”按钮建立空白项目。

3、建立汇编源程序。右击相应项目下的“源文件”文件夹,选择“添加/新建项”菜单项,打开“添加新项”窗口。

在“添加新项”窗口选择模板框中的“c++文件”,并输入以“.asm”为扩展名的文件名称,例如“main.asm”,可以使用默认的“位置”,然后单击“添加”按钮建立空白的“main.asm”文件,然后输入源程序。

4、自定义生成规则。因为是第一次调试源程序,需要右击相应项目名称,如“Project1”,选择“自定义生成规则”菜单项,打开“Visual C++ 自定义生成规则文件”窗口。

在“Visual C++ 自定义生成规则文件”窗口中勾选可用的规则文件“Microsoft Macro Assembler”,然后单击“确定”按钮关闭窗口。

如果自定义生成规则成功,右击相应项目名称,如“Project1”,选择“属性”菜单项,打开“Project1属性页”窗口,在左手框中会出现“Microsoft Macro Assembly”配置属性,否则没有。
然后在右键Microsoft Macro Assembly选择属性设置General的includepaths为C:\Irvine(或则包含头文件的目录)

5、设置附加依赖项。右击相应项目名称,如“Project1”,选择“属性”菜单项,打开“Project1属性页”窗口,在左手框中展开“连接器”,选择“输入”属性,在右手框中的“附加依赖项”属性后键入其值,即连接库文件名,例如“Irvine.lib”, “Irvine.lib”是知名的Kip R. Irvine教授为其著作《Assembly Language for Intel-Based Computer》中的用例编写的32位版的连接库。

如果链接库文件不在默认的路径下,则需要指定“链接器/常规/附加库目录”属性值为链接库所在的路径。

6、使能调试选项。在项目属性窗口中指定“链接器/调试/生成调试信息”属性值为“是(/DEBUG)”。

7、设置导出子系统属性。在项目属性窗口中指定“链接器/系统/子系统”属性值为“控制台(/SUBSYSTEM:CONSOLE)”。

8、单击“调试/启动调试”菜单项运行程序。
#7
病书生2008-08-16 21:06
见图:
只有本站会员才能查看附件,请 登录
#8
病书生2008-08-16 21:08
VC2008 好像自带了 MASM9.0 你可以考虑
#9
zklhp2008-08-16 21:12
[bo][un]病书生[/un] 在 2008-8-16 21:08 的发言:[/bo]

VC2008 好像自带了 MASM9.0 你可以考虑


MASM9.0是微软出的?
#10
病书生2008-08-16 21:12
链接库,例子,习题 代码
http://www.
#11
病书生2008-08-16 21:15
[bo][un]zklhp[/un] 在 2008-8-16 21:12 的发言:[/bo]



MASM9.0是微软出的?

这个不清楚不过应该是吧 微软有9.0的下载地址
因为我用了上面所说的教材 所以使用的VC2005+MASM8.0 呵呵 不过麻烦
老外的东西可以学,但是这里人都不能交流
你们写的我基本看不懂,不过我写的估计效果也差不多\
早该直接学win32了

[[it] 本帖最后由 病书生 于 2008-8-16 21:16 编辑 [/it]]
#12
zklhp2008-08-16 21:54
[bo][un]病书生[/un] 在 2008-8-16 21:15 的发言:[/bo]


这个不清楚不过应该是吧 微软有9.0的下载地址
因为我用了上面所说的教材 所以使用的VC2005+MASM8.0 呵呵 不过麻烦
老外的东西可以学,但是这里人都不能交流
你们写的我基本看不懂,不过我写的估计效果也差不多\ ...


MASM8.0?  微软出的编译器最高版本好象是6.15  MASM32开发包是网上一些人整理的

2.2.5  我们的选择——MASM32软件包

读者可能会感到奇怪,怎么又出来一个MASM32,这是什么公司的产品呢?实际上,MASM32是不同工具软件的大集合,它的汇编编译器用的是MASM软件包中的Ml.exe,资源编译器和32位链接器用的是Microsoft Visual Studio中的Rc.exe和Link.exe,同时包含了Microsoft Visual Studio中的其他一些工具,如Lib.exe和DumpPe.exe等,所有的工具都是适合于Win32编程的版本。

同时,MASM32软件包包括了详尽的头文件和导入库文件,导入库文件取自Visual C++的导入库,规模庞大的头文件则是发布者整理的,软件包中还包括了很多的例子,涉及Win32汇编的很多方面,例子收集自世界各地Win32汇编爱好者发布的源程序。为了使工具包更实用,发布者还为它编写了一个简单的IDE环境,包括一个专用的汇编源程序编辑器和源程序模板生成器等。

MASM32软件包使汇编不再只用来编写简单的程序和少量的核心模块,它的目标完全是为了用汇编写出专业的大型程序。虽然它是一个大杂烩,但发布者做了所有汇编程序员都想做、却又在庞大的工程量前止步的工作——收集合适的工具软件,收集导入库,整理出完整的头文件,收集例子文件,写帮助文档……

让我们感谢发布者Steve Hutchesson为所有的汇编程序员所做的这一切。

迄今为止,MASM32的最高版本是MASM32V7,和早一些的MASM32V6和MASM32V5版本相比,使用的编译器等可执行文件并没有什么改变,不同的地方是在头文件中增补了一些数据结构定义和增加了不少例子程序。最新版本的MASM32软件包可以在发布者的主页http://www.中下载。MASM32是一个免费的软件包,但其中的不同部分如编译器和例子程序等可能属于不同的公司和个人,使用时需要遵从他们的版权声明。
#13
zklhp2008-08-16 21:55
[bo][un]病书生[/un] 在 2008-8-16 21:12 的发言:[/bo]

链接库,例子,习题 代码
http://www.


这些从哪找的?
#14
病书生2008-08-17 11:41
[bo][un]zklhp[/un] 在 2008-8-16 21:55 的发言:[/bo]



这些从哪找的?


这个网站就是我说的书的作者搞的,书中给出了这个网站的地址
因为书中的链接库 都使用这个网上的呵呵

另外书上说 Microsoft MASM 6.11手册 是最后一次印刷 好像并没说
MASM 6.1就是最后1个版本 微软是提供了MASM 8.0 和MASM9.0 的地址的
至于是不是微软出的我真不知道
#15
zklhp2008-08-17 11:48
[bo][un]病书生[/un] 在 2008-8-17 11:41 的发言:[/bo]



这个网站就是我说的书的作者搞的,书中给出了这个网站的地址
因为书中的链接库 都使用这个网上的呵呵

另外书上说 Microsoft MASM 6.11手册 是最后一次印刷 好像并没说
MASM 6.1就是最后1个版本 微软是提供了 ...


MASM有6.15

你学的书是英文的还是中文的?
#16
病书生2008-08-17 12:11
Assembly Language for Intel-Based Computers fifth Edition

中文版叫 Intel 汇编语言程序设计(第5版)

[美] Kip R.Irvine 著

温玉杰 梅广宇 罗云彬 等译
        温玉杰 审校      

书的确非常不错    新人一看就能上手
但是问题就是因为书中用的作者自己的链接库 导致我这种新人 用他的库写了程序别人看不懂 我也看不懂别人 写的 无法交流 郁闷中
#17
zklhp2008-08-17 12:16
[bo][un]病书生[/un] 在 2008-8-17 12:11 的发言:[/bo]

Assembly Language for Intel-Based Computers fifth Edition

中文版叫 Intel 汇编语言程序设计(第5版)

[美] Kip R.Irvine 著

温玉杰 梅广宇 罗云彬 等译
        温玉杰 审校      

书的确非常不错    ...


原来如此  偶感觉王爽编的那本就不错
1