VS2013的x86匯編語言開發環境配置


轉載:https://blog.csdn.net/infoworld/article/details/45085415

轉載:https://blog.csdn.net/u014792304/article/details/53373430

轉載:https://www.cnblogs.com/sunylat/p/6242141.html

轉載:https://www.cnblogs.com/del/archive/2010/04/03/1703689.html

轉載:https://www.cnblogs.com/iBinary/p/7508144.html(基本概念介紹)

轉載:https://arthurchiao.github.io/blog/x86-asm-guide-trans-cn-zh/(翻譯國外一篇文章)

轉載:http://www.ruanyifeng.com/blog/2018/01/assembly-language-primer.html(入門教程)

使用vs編譯x86匯編語言無需安裝MASM,因為所有的vs版本都集成了MASM12.0(All versions of Visual Studio include the Microsoft Assembler (MASM) version 12.0.)。

其安裝目錄(C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin)都會有一個ml.exe,這是MASM匯編器和鏈接器。

一、設定“開始執行(不調試)”(Start Without Debugging command) 
   設定這個的目的是:使得匯編程序執行不需要經過調試階段

 1.進入“工具”->“自定義” 

     

2.選擇 “命令”選項卡,並單擊“添加命令”

 3.在添加“添加命令”對話框里找到“調試”類別,並在右側命令欄中找到“開始調試(不執行)”,最后單擊確定按鈕

    

4.最后關閉“自定義”對話框

二 、開始編寫自己的x86匯編程序了

  1.建一個空項目,必須先建空項目,改現成的C++項目為assembler項目可能會造成編譯不過.

  

 

2.選中項目右鍵 “生成自定義”,選擇MASM生成規則.

 

3.選中源文件右鍵-->添加-->新建項

 

 

4.選中項目右鍵-》屬性-》鏈接器-》系統-》 子系統選 “控制台(SUBSYSTEM:CONSOLE)”

 

 

5.選中項目右鍵-》屬性-》鏈接器-》高級-》 入口點 填 "main"

 

 

6.測試代碼編譯運行:

TITLE Add and Subtract              (AddSub.asm)

; This program adds and subtracts 32-bit integers.
; Last update: 2/1/02


INCLUDELIB kernel32.lib

.MODEL flat,stdcall

;.code
ExitProcess PROTO,                      ; exit program
    dwExitCode:DWORD        ; return code


.data
.code
main PROC

    mov eax,10000h        ; EAX = 10000h
    add eax,40000h        ; EAX = 50000h
    sub eax,20000h        ; EAX = 30000h

    push 0h
    call ExitProcess

main ENDP
END main
;程序模板
.386
.model flat,stdcall
.stack 4096
ExitProcess PROTO, dwExitCode:DWORD;函數聲明

.data 
    ;在這里聲明變量

.code
main PROC
   ;在這里編寫自己的代碼
    INVOKE ExitProcess,0

main ENDP
END main

 

 

7.輸出,調試時選擇菜單 調試-》窗口-》寄存器 就能看到寄存器值。

 

三、匯編代碼高亮

首先要下載usertype.dat,放到C:\Microsoft Visual Studio 12.0\Common7\IDE 下(我安裝的是vs2013)。

 

然后執行“工具-選項”,照下圖的做法,點擊“添加”,然后確定。

重啟vs.現在已經支持匯編語法高亮了

 

 點擊下載:usertype.dat


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM