汇编环境搭建 -- Visual Studio

1. 创建空项目
图1.png
2. 生成MASM规则

项目右键 -> 生成自定义 -> 勾选masm选项


图2.png

图3.png
3. 添加源文件

选择源文件右键->添加->新建项,新建时将文件的后缀名修改为.asm(注意必须此时改)

图4.png

4. 设置属性
  • 选中项目右键 ->属性-> 链接器->系统-> 子系统 -> "控制台(SUBSYSTEM:CONSOLE)" -> 应用


    图5.png
  • 选中项目右键 ->属性 -> 链接器-> 高级 -> 入口点 -> 输入"main@0" -> 应用


    图6.png
5. 输入代码
.486        ; 定义32位程序可以接受32位的寄存器和地址
.model flat, stdcall    ; 选择程序的内存模式为平坦模式,stdcall调用习惯
.stack 4096             ; 设置运行的堆栈大小为4096字节
; 分号为单行注释, COMMENT&...&为多行注释
COMMENT &
    定义了一个ExitProcess函数, 它是标准的Windows服务。PROTO是原型关键字, 
    并定义了一个DWORD类型的输入参数, 函数返回0认为我们执行成功
&
ExitProcess PROTO, dwExitCode: DWORD    

.data
    sum  DWORD 0    ; 定义变量

.code
main PROC           ; 定义主函数开始位置
    mov eax, 5      ; 将eax寄存器的值设置为5
    add eax, 6      ; 为eax寄存器加5
    mov sum, eax    ; 将eax的设置给sum变量

    INVOKE ExitProcess, 0   ; 退出程序
main ENDP           ; 函数结束位置, ENDP 之前的内容,要与PROC 
END main            ; 设置了函数的入口与出口
6. 运行

注:此时运行无任何效果,因为程序中没有打印

7. 调试查看值
效果图.gif
8. 特别说明

之前搭建了一篇汇编环境搭建 -- MASM32,此文将开发工具由MASM32更改为Visual Studio的原因为:

  • Assembly Language for x86 Processors (7th Edition) 一书的作者在文中使用此工具
  • 汇编语言的不可移植性
  • MASM32 开发复杂,工具的不完善性,此工具可查看堆栈信息,方便调试
  • 可以看出在不同工具下的汇编代码框架是不同的,因此程序要因开发工具特定
9. Visual Studio 快捷键
  • Ctrl+F5:编译-链接-运行
  • F5:调试
  • 修改字体大小:工具 -> 选项 -> 环境 -> 字体和颜色
  • 添加行号:工具 -> 选项 -> 文本编辑器 -> 纯文本 -> 常规 -> 行号

你可能感兴趣的:(汇编环境搭建 -- Visual Studio)