0
点赞
收藏
分享

微信扫一扫

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】


前言

我是上学期学的汇编,因为有vs又不想用课上教的麻烦的dosbox以及masm32,

但是一直没找到高亮插件和能调试的(难在运行不了而找不到答案上,出现的错误在最后放出,还请先达们不吝指点)汇编代码所以放弃了。

但是我又偶然想起来了,而且偶然找到了高亮插件!(那时查了很多帖子,甚至有人说在某度知道里说vs不能写汇编,

我真是对这种不负责任的回答嗤之以鼻,

有个贴吧的帖子说
汇编开发环境,个人建议,如果已经安装了Visual Studio,推荐直接用vs作为开发调试工具,原因很简单,现在用的规则就是masm,微软的规则,没有人比微软更了解微软,而且可以很方便的为后续加入c/c++开发提供一站式的平台,如果没有安装,可以考虑后者Radasm+ Masm32,不要用什么cmd,然后debug。。。愚蠢至极,除了装逼浪费时间,还是装逼浪费时间,并没有半点实际价值。详见http://tieba.baidu.com/p/4827889049

嗯,我很同意上面不是斜体的那段文字(尤其是win10后根本没debug了,还得搞dosbox),所以我又来找vs运行汇编的方法了~

没想到课本上那么少的东西实际运行起来水那么深,深的不是基本语法,而是各种库什么的照搬书上的代码都没法运行,真是……

根本不像之前的c语言直接一个f5就完事那么简单。(ps:参考的那几个帖子的代码有的能运行,有的)

 

==============分割线============

~最简单的(C中内嵌汇编代码):在VS的C++文件里直接使用__asm{} 直接写汇编代码.


 

~偷个懒写汇编作业(C语言生成汇编代码)或者研究一下生成的汇编代码


 

~反汇编介绍(直接查看c中某些代码的汇编代码)

 

~汇编代码在vs上的使用方法(配置完的VS并不能正常运行平时能在dosbox上运行的汇编语句)

↑↑↑↑↑↑(你们想要的纯汇编hello world)↑↑↑↑↑

 

==============分割线============

 

 

正片儿:

插件

 

vs2015的汇编语法高亮插件(安装就行)这玩意找了我很久= =


**其实AsmHighlighter高亮插件非常好弄的,在VS2017 工具->扩展和更新->选择联机->搜索AsmHighlighter,然后安装就行了【感谢下方评论中的OringeEd君】

 

过程【这是小事,vs这一系列都可以照葫芦】

 

一、建项目

1.建一个空项目,必须先建空项目,改现成的C++项目为assembler项目可能会造成编译不过.

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】_visual studio

 

2.选中项目右键 “生成自定义”,选择MASM生成规则.

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】_汇编_02

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】_高亮_03

 

 

二、添加及设定源文件

3.选中源文件右键-》添加-》新建项

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】_.net_04

此处后缀名是汇编的.asm

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】_.net_05

4.选中项目右键-》属性-》链接器-》系统-》 子系统选 “控制台(SUBSYSTEM:CONSOLE)”

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】_汇编_06

5.选中项目右键-》属性-》链接器-》高级-》 入口点 填 "main"

 

三、测试代码编译运行:

(可以看到,如果安装了高亮插件,不仅注释可以用了,代码也有高亮提示了

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】_汇编_07

最后,输出,调试时选择菜单 调试-》窗口-》寄存器 就能看到寄存器值。(这样,就不至于苦逼地用指令-ip一步步看了吧~)

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】_右键_08

 

代码【这事儿可深了……】 先上那位大神可以过的代码

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


 

感谢以下找过的对我有用的帖子:

——来自贴吧的嘲讽~
http://tieba.baidu.com/p/4827889049

——高亮插件(asmhighlighter官网?)

http://asmhighlighter.codeplex.com/
——求高亮插件的帖子


——[汇编]_[初级]_[VS2010搭建汇编开发环境win32和x64](过程部分基本如此帖所做)


——vs2010的插件英文教程

http://kipirvine.com/asm/4th/index.html【《Intel汇编语言程序设计(第4版)》作者网址】

http://kipirvine.com/asm/gettingStartedVS2015/index.htm#tutorial32(貌似这就是所有参考的源头,很全)

http://kipirvine.com/asm/gettingstartedvs2010/#syntax (大佬jie汇介绍高亮插件)

(↑以上都是这位大佬写的!)

http://www.deconflations.com/2011/masm-assembly-in-visual-studio-2010/

 

 

=========分割线====2018.2.10============

VS2017写汇编教程(亲测可用,很顺畅,做到了上文中“直接一个f5就完事”,没有ml.exe的错误):


【这样 就不用masm for windows那样的收费ide了~还比那个逼格高】

 

——一些源网:

http://www.masm32.com/download.htm (masm32)

https://archive.codeplex.com/?p=asmhighlighter  (asmhighlighter)

 

===========以下为广告,想省事的可以来我这里2C币下载~===================

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】_汇编_09

不想装masm32(上图那货)只想要库的可以下我放的链接(内含一套 高亮插件+要用到的masm库):


 

举报

相关推荐

0 条评论