本文详细介绍一下如何使用vs2013写一个hello,world的汇编程序,前提是电脑已经装好vs2013和masm。
对于masm安装存在困难,或者博文未解释清楚的地方,还可以观看b站一位up主的精心教学视频
星河童话汇编语言基础教程
以下是详细过程
-
用vs2013新创建一个项目
-
生成依赖项,生成自定义,勾选masm
-
属性,配置属性,链接器,高级,入口点,填上main
-
属性,配置属性,链接器,输入,附加依赖项,添加msvcrt.lib的绝对路径。
-
源文件,添加test.asm,注意需要填写完整文件名,以.asm为后缀。
-
复制如下代码
.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
-
点击vs2013窗口的调试->开始执行(不调试),即可运行如下。
如有任何问题,可以留言评论或者看上面提到的一位b站up主的教学视频。只是作者水平有限,现在也只会写一个hello,world。
另注:之前定义的入口点是main,所以代码里面的入口点是main,但是如果复制同样的代码到新的文件,例如2.asm,点击运行就会报错。解决办法就是更改入口点,例如把前面配置的入口点改为main2,然后把2.asm里面代码的main也改为main2。实际上代码里面的main就是起到定义一个入口点的含义,也就是一个可以随意更改的名称而已,你改成其他名称,只要和前面配置的入口处填写的内容相同即可。也就是不同的汇编文件,不能定义同一个入口点,而vs运行是从前面配置的入口点处开始,所以实际上配置处的入口点是跟随你代码里面入口点来动态填写的。