用VS2013写第一个汇编语言程序
<h3 id="本文详细介绍一下如何使用vs2013写一个helloworld的汇编程序前提是电脑已经装好vs2013和masm">本文详细介绍一下如何使用vs2013写一个hello,world的汇编程序,前提是电脑已经装好vs2013和masm。</h3><h4 id="对于masm安装存在困难或者博文未解释清楚的地方还可以观看b站一位up主的精心教学视频">对于masm安装存在困难,或者博文未解释清楚的地方,还可以观看b站一位up主的精心教学视频</h4>
<p>星河童话汇编语言基础教程</p>
<h3 id="以下是详细过程">以下是详细过程</h3>
<ol>
<li>
<h4 id="用vs2013新创建一个项目">用vs2013新创建一个项目</h4>
</li>
</ol>
<p><img src="https://img2020.cnblogs.com/blog/1852902/202012/1852902-20201218095856397-108582244.png"></p>
<p><img src="https://img2020.cnblogs.com/blog/1852902/202012/1852902-20201218095918074-2010650504.png"></p>
<ol start="2">
<li>
<h4 id="生成依赖项生成自定义勾选masm">生成依赖项,生成自定义,勾选masm</h4>
</li>
</ol>
<p><img src="https://img2020.cnblogs.com/blog/1852902/202012/1852902-20201218095943542-1800963315.png"></p>
<p><img src="https://img2020.cnblogs.com/blog/1852902/202012/1852902-20201218095954054-1706891915.png"></p>
<ol start="3">
<li>
<h4 id="属性配置属性链接器高级入口点填上main">属性,配置属性,链接器,高级,入口点,填上main</h4>
</li>
</ol>
<p><img src="https://img2020.cnblogs.com/blog/1852902/202012/1852902-20201218100011537-136765581.png"></p>
<ol start="4">
<li>
<h4 id="属性配置属性链接器输入附加依赖项添加msvcrtlib的绝对路径">属性,配置属性,链接器,输入,附加依赖项,添加msvcrt.lib的绝对路径。</h4>
</li>
</ol>
<p><img src="https://img2020.cnblogs.com/blog/1852902/202012/1852902-20201218100040766-628773429.png"></p>
<p><img src="https://img2020.cnblogs.com/blog/1852902/202012/1852902-20201218100058754-1852841616.png"></p>
<ol start="5">
<li>
<h4 id="源文件添加testasm注意需要填写完整文件名以asm为后缀">源文件,添加test.asm,注意需要填写完整文件名,以.asm为后缀。</h4>
</li>
</ol>
<p><img src="https://img2020.cnblogs.com/blog/1852902/202012/1852902-20201218100142565-1562055493.png"></p>
<ol start="6">
<li>
<h4 id="复制如下代码">复制如下代码</h4>
</li>
</ol>
<pre><code> .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
</code></pre>
<ol start="7">
<li>
<h4 id="点击vs2013窗口的调试-开始执行不调试即可运行如下">点击vs2013窗口的调试->开始执行(不调试),即可运行如下。</h4>
</li>
</ol>
<p><img src="https://img2020.cnblogs.com/blog/1852902/202012/1852902-20201218100214875-2853808.png"></p>
<h5 id="如有任何问题可以留言评论或者看上面提到的一位b站up主的教学视频只是作者水平有限现在也只会写一个helloworld">如有任何问题,可以留言评论或者看上面提到的一位b站up主的教学视频。只是作者水平有限,现在也只会写一个hello,world。</h5>
<h3 id="另注之前定义的入口点是main所以代码里面的入口点是main但是如果复制同样的代码到新的文件例如2asm点击运行就会报错解决办法就是更改入口点例如把前面配置的入口点改为main2然后把2asm里面代码的main也改为main2实际上代码里面的main就是起到定义一个入口点的含义也就是一个可以随意更改的名称而已你改成其他名称只要和前面配置的入口处填写的内容相同即可也就是不同的汇编文件不能定义同一个入口点而vs运行是从前面配置的入口点处开始所以实际上配置处的入口点是跟随你代码里面入口点来动态填写的">另注:之前定义的入口点是main,所以代码里面的入口点是main,但是如果复制同样的代码到新的文件,例如2.asm,点击运行就会报错。解决办法就是更改入口点,例如把前面配置的入口点改为main2,然后把2.asm里面代码的main也改为main2。实际上代码里面的main就是起到定义一个入口点的含义,也就是一个可以随意更改的名称而已,你改成其他名称,只要和前面配置的入口处填写的内容相同即可。也就是不同的汇编文件,不能定义同一个入口点,而vs运行是从前面配置的入口点处开始,所以实际上配置处的入口点是跟随你代码里面入口点来动态填写的。</h3><br><br>
来源:https://www.cnblogs.com/dayq/p/14153524.html
頁:
[1]