聲明:本文使用32位masm,代碼與16位,64位不同
---------------------------------------------------------------------------------------------------------------------------
遇到問題:
1、LINK 1104:
在網上找了很久,並沒有解決問題。
解決方法:
點擊visual studio編譯后的錯誤提示:LINK 1104,查看官方文檔
其中一條原因:路徑過長!(= =,沒錯,就是這個)
我遇到的情況是:在路徑下創建項目,第一個編寫的文件正常運行,修改文件名或創建新文件后編譯報錯:LINK 1104
我的路徑是:D:\project\Git\Assembly\Assembly Language For x86 Processors\chapter1
修改路徑:D:\project\Git\
沒有問題!
---------------------------------------------------------------------------------------------------------------------------------
1、官方下載安裝器,安裝社區版
![]()
2、選擇:使用C++的桌面開發(或者選擇:使用C++的游戲開發)

選擇安裝位置,共需要8G左右,占用我C盤2.多G(我的強迫症在吼)
3、克隆或簽出代碼

登錄


and then,如果沒有遠程庫需要先創建一個,不創建也沒關系
3、安裝擴展

再順便安裝個匯編的代碼高亮

4、創建第一個匯編項目:AddTwo.asm(這不是我想要的Helloworld!)
OK,上圖

雙擊或者點擊“下一步”

關鍵來了———生成自定義:

鈎選masm(.targets,.props)

來創建.asm文件,或者右鍵“源文件”--“添加”--“新建項”

畫重點:不要用“Add New File”擴展


用插件快速創建的文件報錯:

then,回到正道:(為什么不用:ctrl+shift+A創建)

Irvine 大佬的代碼(學匯編可以看Assembly Language for x86 Processors的中文看版:《匯編語言 基於x86處理器》):
; AddTwo.asm - adds two 32-bit integers. ; Chapter 3 example .386 .model flat,stdcall .stack 4096 ExitProcess proto,dwExitCode:dword .code main proc mov eax,5 add eax,6 invoke ExitProcess,0 main endp end main
OK!ctrl+F5,運行,走你!

nice!
F5調試:
先打個斷點

來深入了解寄存器吧!

如果沒有寄存器窗口

開啟匯編二進制之旅!
wait! 還有一個 列表文件


沒有.lst后綴的列表文件
配置:
1、右鍵項目,屬性

2、配置

3、重新運行(如果出現LNK 1104的錯誤,並且確定路徑沒問題,可以多嘗試幾次重新創建項目)
查看項目目錄下:


有了!它可以幫助更好的理解匯編代碼。
