转载: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 -bit integers.
; Last update: // 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
;程序模板
.
.model flat,stdcall
.stack
ExitProcess PROTO, dwExitCode:DWORD;函数声明 .data
;在这里声明变量 .code
main PROC
;在这里编写自己的代码
INVOKE ExitProcess, main ENDP
END main

7.输出,调试时选择菜单 调试-》窗口-》寄存器 就能看到寄存器值。

三、汇编代码高亮

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

然后执行“工具-选项”,照下图的做法,点击“添加”,然后确定。

重启vs.现在已经支持汇编语法高亮了

点击下载:usertype.dat

VS2013的x86汇编语言开发环境配置的更多相关文章

  1. VS2013+WDK8.1 驱动开发环境配置

    Windows Driver Kit 是一种完全集成的驱动程序开发工具包,它包含 WinDDK 用于测试 Windows 驱动器的可靠性和稳定性,本次实验使用的是 WDK8.1 驱动开发工具包,该工具 ...

  2. 75.VS2013和opencv3.1.0开发环境配置

    首先要做的就是 开发环境配置,具体过程如下: Step 1:OpenCV环境变量配置 我的电脑--->属性--->高级系统设置--->高级--->环境变量--->系统变量 ...

  3. Win8.1+VS2013+WDK8.1+VirtualBox or VMware 驱动开发环境配置

    https://blog.csdn.net/charlessimonyi/article/details/50904956 Win8.1+VS2013+WDK8.1+VirtualBox or VMw ...

  4. OpenCV+VS开发环境配置

    最近跑C程序,头文件中用到了OpenCV中的文件,找了很多篇OpenCV+VS的环境配置,发现如下这篇写的最为详细,特转载来自己的博客中留存,并附上原博客地址如下 OpenCV学习笔记(一)——Ope ...

  5. OpenCV+VS 2015开发环境配置

    最近跑C程序,头文件中用到了OpenCV中的文件,找了很多篇OpenCV+VS的环境配置,发现如下这篇写的最为详细,特转载来自己的博客中留存,并附上原博客地址如下 OpenCV学习笔记(一)——Ope ...

  6. Open SSL 开发环境配置

    Open SSL 开发环境配置 最后更新日期:2014-05-13 阅读前提:VisualStudio的基本使用.Cent OS的基本使用 环境: Windows 8.1 64bit英文版,Visua ...

  7. Visual studio 通用开发环境配置:SDL,FFMPEG为例

    引言 每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤: 下载库文件,这里假定是已经预先编译完成的. 配置库文件的包含目录(include)和库 ...

  8. AndroidStudio开发环境配置-Windows

    Android Studio开发环境配置-Windows 最近突发奇想,开始研究Android开发.开始时使用Eclipse作为开发IDE,结果各种不好使,首先下载和安装SDK,以及不同版本的Imag ...

  9. win7 x64 vs2010 directShow开发环境配置

    近来工作需要,要用dirrectShow写一个视频播放的demo验证自己的想法.开发环境配置了好久都没有成功,最后终于弄完,现在记录下来,以后有同学遇到同样问题,可以以此法解决. windows SD ...

随机推荐

  1. Jmeter中使用SSH插件,连接远程linux机器执行命令

    一.Why 在云主机测试中,需要使用SSH协议连接云主机进行相关操作 在python中使用paramiko库很好实现,在如果要使用jmeter做性能测试时,怎么做? 二.解决 既然原生jmeter没有 ...

  2. vue---import的几种表现形式

    在使用vue开发项目的时候,很多使用会import很多模块,或者组件,下面说下import的几种表现形式: 例如:我在 src / api / table.js import request from ...

  3. git使用——推送本地文件到远程仓库

    捣鼓了一下午之后总结如下:   1.首先可以照着这个链接里面博主给出的详细方法进行操作和配置: http://www.open-open.com/lib/view/open1454507333214. ...

  4. I - All X

    F(x,m) 代表一个全是由数字x组成的m位数字.请计算,以下式子是否成立: F(x,m) mod k ≡ c Input 第一行一个整数T,表示T组数据. 每组测试数据占一行,包含四个数字x,m,k ...

  5. java学习之路--面试之并发基础

    1. 什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?原子操作是指一个不受其他操作影响的操作任务单元.原子操作是在多线程环境下避免数据不一致必 ...

  6. nodejs(二)浏览器与服务器连接初探

  7. 20175303 2018-2019-2 《Java程序设计》第2周学习总结

    •总体的说,第2周主要学习了课本第二章第三章的内容,这周的学习简直比上一周的简单而且容易理解得多.上周的各种安装,注册,眼花缭乱,很早就开始弄,但各种出错,到最后都想放弃了,好在有同学的帮助,帮我正确 ...

  8. 15.2-uC/OS-III资源管理(信号量)

    1.信号量 信号量是一个“ 锁定机构”,代码需要获得钥匙才可以访问共享资源.占用该资源的任务不再使用该资源并释放资源时,其它任务才能够访问这个资源. 通常有两种类型的信号量:二值信号量和多值信号量. ...

  9. 006-mac下finder操作

    1. 在 Finder 窗口显示更多信息 打开任意 Finder 窗口.前往并打开「显示」-「显示路径栏」.「显示」-「显示状态栏」和「显示」-「显示预览」三项. 选择了显示路径栏 路径栏通常是从磁盘 ...

  10. Kafka实践1--Producer

    一.Kafka设计原理参考: http://blog.csdn.net/suifeng3051/article/details/48053965?locationNum=2 http://www.cn ...