汇编环境配置及 Hello World。DOSBox,debug.exe,VisualStudio
▶ DOSBOX 相关
● 下载 DOSBox(http://www.dosbox.com/download.php?main=1),安装到文件夹 DOSBox 。
● 下载 debug.exe(Win10 没有自带,随手找的),放到目录 DOSBox 下。
● 打开配置文件 C:\Users\cuan\AppData\Local\DOSBox\dosbox-0.74.conf,拉到末尾,添加 mount C D:\Program\DOSBox (启动时自动挂载 DOSBox 为 C 分区)
● 启动 DOSBox.exe,这时可以使用 debug 命令(即运行 debug.exe)进入调试模式。
▶ Visual Studio 2015 相关
● 原文地址:http://blog.csdn.net/sinat_27382047/article/details/70339455
● Visual Studio 汇编高亮插件 AsmHighlighter(http://asmhighlighter.codeplex.com/),双击安装。
● VS 工具栏中,工具,选项,环境,扩展和更新,自动检查更新。

● VS 工具栏中,工具,扩展和更新,启用 AsmHighlighter,可能需要在左边点击更新,重启 VS 以后才能生效。

● 建项目。建一个 “Win32 控制台应用程序” 项目,如下选择。

● 项目属性右键,生成依赖项,生成自定义,如下选择。

● 向项目中添加源文件,使用C++文件,但是后缀名改为 .asm,如下选择。

● 项目属性右键,属性,链接器,系统,子系统,选择 “控制台 (SUBSYSTEM:CONSOLE)”

● 项目右键,属性,链接器,高级,入口点,填 "main"

▶ 测试代码
COMMENT !&
块段注释
!& . ; 32 位程序,使用 32 位寄存器和地址
.model flat, stdcall ; 内存模式 flat,子程序调用规范 stdcall
.stack ; 伪指令,使用堆栈大小,一个内存页为 4096 Byte ExitProcess PROTO, dwExitCode:DWORD ; 声明 Windows 函数原形,用于与操作系统交互 .code ; 伪指令,程序区段
main PROC ; 过程起点,程序入口
mov eax,
add eax,
INVOKE ExitProcess, ; 过程向操作系统返回 0,表正常结束
main ENDP ; 过程结束 END main ; 程序结束 后面的内容被自动忽略,不用写成注释
● 64位版本
; 不用平台,内存指定 ExitProcess PROTO ; 不用参数 .data
sum DWORD .code
main PROC
mov eax,
add eax,
mov sum, eax
mov ecx, 0 ; ecx 寄存器作为 ExitProcess 的返回值,设为 0
call ExitProcess ; 使用 call 来调用函数,不再写返回值
main ENDP ; 过程结束 END ; 不表明入口点
● 输出结果:没有显示输出,正常返回 0
▶ 相关链接
● 最老的说明:http://kipirvine.com/asm/gettingStartedVS2015/index.htm#tutorial32
● 看SB“坐而论道”:http://tieba.baidu.com/p/4827889049#99426928136l
● 微软64位汇编器 ml64.exe:https://msdn.microsoft.com/en-us/library/hb5z4sxd.aspx
● 包含了一些VS高级配置说明:的http://blog.csdn.net/natepan/article/details/6781439
● 一个包括 16 位工程的说明:http://kipirvine.com/asm/gettingstartedvs2010/#syntax
汇编环境配置及 Hello World。DOSBox,debug.exe,VisualStudio的更多相关文章
- windows汇编环境配置
原文地址 软件下载 需要的软件已经打包,包括dosbox和MASM.如果没有这两个软件可以在下面的地址下载. http://hjwblog.com/game/汇编环境.zip 点击下载 安装dosbo ...
- 汇编环境的搭建(windows 10 + debug)
1. debug.exe 安装 win10 版本过高,不再提供 debug.exe,甚至从别处获取的 debug.exe 的也无法运行. 汇编语言学习所需的各种执行文件(debug.exe.link. ...
- Win32汇编环境配置
放假了,发现自己知识面窄,趁有时间就打算折腾下Win32汇编.其实在学校也上过汇编课,是基于dos的.那时老师不务正业,老跟我们讲政治经济文化,唯独不怎么讲课;再加上自己的问题,导致了dos汇编学得好 ...
- 对VS2019进行32位汇编环境配置
1.库文件(很重要) 用我这一份就行:https://www.lanzous.com/i6364hg 2.VS依赖库 打开VS2019,选择桌面向导 配置项目时,选择新项目. 选择生成依赖项 选中ma ...
- 视频+图文教程 | Java之安装JDK与环境配置
演示所用软件JDK 8与Eclipse(Java开发工具)软件下载链接: 链接:https://pan.baidu.com/s/1Vg9ulrQH8WlGRAE89Y02UA提取码:swwl 视频介绍 ...
- 使用DOSBox在Win7_x64下搭建汇编环境
1. 软件安装 1. debug.exe,masm.exe,link.exe,edit.com等汇编工具,一般32位的windows系统有自带,但64位系统下并没有,而且将32位系统下的工具拷贝到64 ...
- Mac OS环境下DOSBox汇编环境的搭建
平台: mac 工具: DOSBox(点击下载DOSBox官网) debug.edit.link.masm等等(点击下载masm汇编开发工具,提取码: skc8) 步骤: 1 .安装DOSBox: 解 ...
- MS-DOS 系统汇编环境之DOSBOX+vim
经过虚拟机的体验,我发现还是dosbox里汇编比较方便..... 一.下载安装 dosbox DOSBOX 准备好 masm.exe.link.exe.debug.exe,放在~/dos下(文件夹名字 ...
- win7 64位环境下配置汇编环境和程序设计
下载dosbox,并解压安装 下载地址: http://pan.baidu.com/s/1eRJbJAq 默认安装到C:\Program Files (x86)\DOSBox-0.74 安装成功后,双 ...
随机推荐
- BZOJ1369/BZOJ2865 【后缀数组+线段树】
Description XX在进行字符串研究的时候,遇到了一个十分棘手的问题. 在这个问题中,给定一个字符串S,与一个整数K,定义S的子串T=S(i, j)是关于第K位的识别子串,满足以下两个条件: ...
- 三值 bool? 进行与或运算后的结果
bool? 实际上是 Nullable<Boolean> 类型,可以当作三值的 bool 类型来使用.不过三值的布尔进行与或运算时的结果与二值有什么不同吗? 本文内容 重载条件逻辑运算符“ ...
- java内存的分配和管理
常用的三个内存空间 栈内存 ,堆内存 ,方法区 栈内存存储的内容: 局部变量. 函数(栈中的局部变量,需要手动赋值.当变量,或者函数执行完毕,就自动被释放) 堆内存,存储的内容 :全局变量.数据容器. ...
- dbt 生产环境使用
可以使用如下方式: 云主机或者普通的机器 使用 airflow 使用 Sinter, 一个托管的dbt runner 常见问题: 如何管理权限? 可以使用hooks 进行配置用户组以及权限 说明 实际 ...
- adnanh webhook 框架execute-command 以及参数传递处理
adnanh webhook是一个很不错的webhook 实现,方便灵活. adnanh webhook 支持以下功能: 接收请求 解析header 以及负载以及查询变量 规则检查 执行命令 下面 ...
- oracle 以及 sql server mysql 空值默认值修改
在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 ISNULL ( check_expression , replacem ...
- microsoft webMatrix 使用 IISnode 进行node express 开发
微软的microsoft webMatrix是一个免费的开发工具,我们可以使用它进行node 开发并利用iisnode 模块进行iis 的nodejs网站的维护,还是比较方便的. 一个简单的node ...
- java中原子操作的实现分析
一.CAS原理: CAS的全程即Compare And Swap,翻译成中文为比较并交换: CAS操作依赖于CPU指令CMPXCHG来实现比较并交换操作的原子性,通过查看HotSpot源码如下: 可以 ...
- hadoop之 参数调优
一. hdfs-site.xml 配置文件 1. dfs.blocksize 参数:hadoop文件块大小描述:新文件的默认块大小,以字节为单位,默认 134217728 字节.可以使用以下后缀(大小 ...
- JavaScript中类似PHP的uniqid()方法
JavaScript中类似PHP的uniqid()方法: function generateUIDNotMoreThan1million() { return ("0000" + ...