用VS2013写第一个汇编语言程序

本文详细介绍一下如何使用vs2013写一个hello,world的汇编程序,前提是电脑已经装好vs2013和masm。

对于masm安装存在困难,或者博文未解释清楚的地方,还可以观看b站一位up主的精心教学视频

星河童话汇编语言基础教程

以下是详细过程

  1. 用vs2013新创建一个项目

  1. 生成依赖项,生成自定义,勾选masm

  1. 属性,配置属性,链接器,高级,入口点,填上main

  1. 属性,配置属性,链接器,输入,附加依赖项,添加msvcrt.lib的绝对路径。

  1. 源文件,添加test.asm,注意需要填写完整文件名,以.asm为后缀。

  1. 复制如下代码

		.386
		.model flat,c
		.stack 100h
printf	PROTO arg1:Ptr Byte
		.data
msg1	byte "Hello World!",0Ah,0
		.code
main	proc
		INVOKE printf, ADDR msg1
		ret
main	endp
		end
  1. 点击vs2013窗口的调试->开始执行(不调试),即可运行如下。

如有任何问题,可以留言评论或者看上面提到的一位b站up主的教学视频。只是作者水平有限,现在也只会写一个hello,world。

另注:之前定义的入口点是main,所以代码里面的入口点是main,但是如果复制同样的代码到新的文件,例如2.asm,点击运行就会报错。解决办法就是更改入口点,例如把前面配置的入口点改为main2,然后把2.asm里面代码的main也改为main2。实际上代码里面的main就是起到定义一个入口点的含义,也就是一个可以随意更改的名称而已,你改成其他名称,只要和前面配置的入口处填写的内容相同即可。也就是不同的汇编文件,不能定义同一个入口点,而vs运行是从前面配置的入口点处开始,所以实际上配置处的入口点是跟随你代码里面入口点来动态填写的。

原文地址:https://www.cnblogs.com/dayq/p/14153524.html