寫在前面:
如果你之前使用的是Visual Studio 2022(其他版本不清楚,如果是2017版本應該也是行的,如果有uu成功,也可以分享自己的經(jīng)驗),那么建議你立即卸載重新安裝(血淚教訓,網(wǎng)上能找到的教程基本上都不能解決問題)。
2022版本可能會出現(xiàn)的問題:
MSB3721 命令“ml64.exe /c /nologo /Zi /Fo"x64\Debug\源.obj" /I "E:\masm32\include" /W3 /errorReport:prompt /Ta"源.asm"”已退出,返回代碼為 1。?
以及一些其他的比如A2026 constant expected這樣的問題。
卸載教程:卸載或移除 Visual Studio | Microsoft Learn和全網(wǎng)唯一最全徹底刪除VS及VS注冊表!_徹底卸載vs-CSDN博客。
參考第一個鏈接卸載Visual Studio 2022和Visual Studio 2022 Installer,參考第二篇文章刪除注冊表。
卸載后的安裝教程(參考這個鏈接配置,在單個組件選擇的時候,記得選擇v14.26以下的版本,我的選擇如圖右紅色標記部分,大家可以參考?):
然后我們就可以愉快的開始安裝和配置環(huán)境了。
一、下載MASM32 SDK
下載地址:MASM32 SDK
點擊:Downloads選擇Australia 1進行下載:
解壓下載后的install.exe文件進行安裝,安裝的過程很簡單,一直點擊確定或者yes就可以了。
安裝過程可能出現(xiàn)的問題:DELETE operation of EXE file has failed
解決這個問題參考鏈接:
win10 安裝MASM32 遇到的問題DELETE operation of EXE file has failed-CSDN博客
注意作者在兼容模式選擇那一步選擇的選項!
二、環(huán)境配置
打開Visual Studio,選擇新建一個空項目:
文件名稱和路徑定義好之后:
在解決方案資源管理器下右鍵項目名稱,選擇生成依賴項->生成自定義:
勾選masm那一項,點擊確定:
注意:一定要在添加.asm文件之前勾選這一項,否則可能會出現(xiàn)這個問題:
A2044 invalid character in file demo2
(我在查找這個問題過程中看到的可能的原因:1.提示行應該使用半角符號而不是全角符號;2.includelib和include是不是用錯了;3.不要直接將.cpp文件的后綴改成.asm可以先建立.txt文件再改成.asm文件。沒有驗證過,大家可以自己嘗試驗證。)
然后為這個項目添加一個.asm后綴的文件:
右鍵項目->添加->新建項->C++文件,修改文件的后綴名為.asm,點擊添加:
右鍵項目->屬性:
鏈接器->系統(tǒng)->子系統(tǒng),選擇控制臺:
鏈接器->常規(guī)->附加庫目錄,點擊進行編輯,輸出MASM的lib路徑:
展開MicrosoftMacroAssembler,選擇“general”下的“IncludePaths”,點擊進行編輯,輸出MASM的include路徑:
選擇“Listing File”下的“Assembled Code Listing File”,點擊進行編輯:
點擊確定?。?!
配置完成!
三、 測試
1、控制臺界面的匯編程序測試代碼如下:
.386 .model flat,stdcall option casemap:none includelib msvcrt.lib printf PROTO C:ptr sbyte,:VARARG .data szMsg byte "Hello World!",0ah,0 .code start: invoke printf,offset szMsg ret end start
2、窗口界面的匯編程序測試代碼如下:
右鍵項目->鏈接器->系統(tǒng)->子系統(tǒng),修改為窗口,然后運行:
.386
.model flat,stdcall
option casemap:none
MessageBoxA PROTO :dword,:dword,:dword,:dword
MessageBox equ <MessageBoxA>
includelib user32.lib
NULL equ 0
MB_OK equ 0
.stack 4096
.data
SzTitle byte 'Hi!',0
SzMsg byte 'Hello World!',0
.code
start:
invoke MessageBox,
NULL,
offset SzMsg,
offset SzTitle,
MB_OK
ret
end start
?結(jié)果如下:文章來源:http://www.zghlxwxcb.cn/news/detail-800237.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-800237.html
到了這里,關(guān)于Visual Studio+MASM32寫匯編程序——安裝和環(huán)境配置說明的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!