[VS2010搭建汇编开发环境win32和x64]
场景:
1. 虽然使用MASM32也可以编译运行汇编程序,但是既然装了VS2010,它也能支持编译运行汇编吧.不然微软的开发人员难道还不用vs写汇编程序了?
2. x64程序是大势所趋,win32(只能支持4G内存)逐渐退出舞台了,所以x64编译汇编也是必然要知道的.
win32项目步骤:
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
7.输出,调试时选择菜单 调试-》窗口-》寄存器 就能看到寄存器值。
x64汇编例子:
1. 创建过程和win32一样,之后转换为x64配置. 在活动解决方案平台新建 选择x64.
2. 测试代码,x64和win32的一些Directive不一样了,使用的64位寄存器名也不一样,RAX?,详细不同请参考微软说明文档
- TITLE Add and Subtract (AddSub.asm)
- ; This program adds and subtracts 32-bit integers.
- ; Last update: 2/1/02
- ;.MODEL flat,stdcall x64 not support
- .code
- EXTERN ExitProcess:PROC
- INCLUDELIB kernel32.lib
- .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
- ;END main,donot use main
3.调试
参考: http://stackoverflow.com/questions/9319055/visual-c-2010-express-x64-assembly https://msdn.microsoft.com/en-us/vstudio/gg697159 https://msdn.microsoft.com/en-us/library/hb5z4sxd.aspx http://www.masmforum.com/board/index.php?topic=14691.15;wap2 http://blog.csdn.net/natepan/article/details/6781439
[VS2010搭建汇编开发环境win32和x64]的更多相关文章
- Masm615+notepad++6.8.8搭建汇编开发环境
前言:很早以前搭过,做了笔记的.现在重新玩汇编,按照笔记撘环境,谁知道坑了自己两个小时,气的我现在打字手都在抖 准备工作: 1.Masm615汇编环境,下载地址:https://pan.baidu.c ...
- win10 64 使用 visual studio 2017 搭建汇编开发环境
转自http://blog.csdn.net/sinat_27382047/article/details/70339455 插件 vs2015的汇编语法高亮插件(安装就行)这玩意找了我很久= = h ...
- 8086汇编语言学习(二) 8086汇编开发环境搭建和Debug模式介绍
1. 8086汇编开发环境搭建 在上篇博客中简单的介绍了8086汇编语言.工欲善其事,必先利其器,在8086汇编语言正式开始学习之前,先介绍一下如何搭建8086汇编的开发环境. 汇编语言设计之初是用于 ...
- Windows系统 为 Visual Studio软件 搭建 OpenCV2 开发环境
Windows系统 为 Visual Studio软件 搭建 OpenCV2 开发环境 我们的电脑系统:Windows 10 64位 Visual Studio 软件:Visual Studio 20 ...
- windows下VisualStudio和QtCreator搭建Qt开发环境
一.简介 集成开发平台IDE都有各自的长处,编写Qt程序可根据自己的喜好来选择相应的IDE.下述文章都是装载博友的文章,其中有很多细节还得自己调整. 二.详解 1.VisualStudio搭建Qt开发 ...
- [转载]使用VS2015搭建Lua开发环境
参考原文请看: Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一) Lua学习笔记2:Windows7下使用VS2015搭建Lua开发环境(二) 本篇主要分以下几个部分: 一 ...
- 单机搭建Android开发环境(五)
前文介绍了Android系统开发环境的搭建,本文将简单介绍Android应用开发环境的搭建. 基于Android Studio搭建应用开发环境,相比使用Eclipse简单得多.Android Stud ...
- ubuntu下搭建JAVA开发环境【转】
转自:http://jingyan.baidu.com/article/86fae346b696633c49121a30.html JAVA开发环境是一种跨平台的程序设计语言,可以在windows.L ...
- 在 Ubuntu 13.10 中搭建Java开发环境 - 懒人版
本文记录我在Ubuntu 13.10中搭建Java开发环境. 本文环境: Ubuntu 13.10 x64运行在Win7下的VMware Workstation 10中. 1. 安装JDK与JRE s ...
随机推荐
- Ubuntu 16.04 安装WPS
1.下载安装包和缺少的字体 安装包下载[http://wps-community.org/download.html?vl=a21#download](这里下载的是最新的安装包) 缺少的字体下载[链接 ...
- linux脚本启动停止一个jar
###########################启动########################### #!/bin/sh ####定义一个函数在当前文件夹下读取所有jar文件 functi ...
- MikroTik RouterOS使用SATA光驱安装时提示:no CD-ROM found press ENTER to reboot
可以尝试以下方式: 1.进入bios--Main--Storage configuration,找到SATA configuration ,设置为Compatible模式(即兼容模式.混合模式) 2. ...
- 性能优化:使用SparseArray代替HashMap<Integer,Object>(转)
HashMap是java里比较常用的一个集合类,我比较习惯用来缓存一些处理后的结果.最近在做一个Android项目,在代码中定义这样一个变量,实例化时,Eclipse却给出了一个 performanc ...
- github入门教程:第一步
[git教程] 以前在网上找过一些,见 http://www.wojilu.com/Forum1/Topic/702 我自己会一边学,一边写教程,过程中有不明白的,会跟大家请教交流. ----- ...
- 【报错】RSA host key for 192.168.1.xxx has changed and you have requested strict checking.
执行如下对机拷贝命令 scp .ssh/id_rsa.pub phpgo@192.168.1.35:~ 时,报错 RSA host key for 192.168.1.xxx has changed ...
- 在ASP.NET MVC中实现本地化和全球化
在开发多语言网站时,我们可以为某种语言创建一个资源文件,根据浏览器所设置的不同语言偏好,让运行时选择具体使用哪个资源文件.资源文件在生成程序集的时候被嵌入到程序集. 本篇体验,在ASP.NET MVC ...
- 在ASP.NET MVC下有关上传图片脏数据的解决方案
在"在ASP.NET MVC下实现单个图片上传, 客户端服务端双重限制图片大小和格式, 服务端裁剪图片"中,已经实现了在客户端和服务端限制图片大小和格式,以及在服务端裁剪图片.但还 ...
- CE找基址
- 支持xp风格的manifest
MSDN 和一些网站上的manifest 有问题 , 自己修改了一下加上Microsoft.VC80.DebugCRT 和 Microsoft.VC80.DebugMFC 就可以了.如果是relea ...