▶ 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的更多相关文章

  1. windows汇编环境配置

    原文地址 软件下载 需要的软件已经打包,包括dosbox和MASM.如果没有这两个软件可以在下面的地址下载. http://hjwblog.com/game/汇编环境.zip 点击下载 安装dosbo ...

  2. 汇编环境的搭建(windows 10 + debug)

    1. debug.exe 安装 win10 版本过高,不再提供 debug.exe,甚至从别处获取的 debug.exe 的也无法运行. 汇编语言学习所需的各种执行文件(debug.exe.link. ...

  3. Win32汇编环境配置

    放假了,发现自己知识面窄,趁有时间就打算折腾下Win32汇编.其实在学校也上过汇编课,是基于dos的.那时老师不务正业,老跟我们讲政治经济文化,唯独不怎么讲课;再加上自己的问题,导致了dos汇编学得好 ...

  4. 对VS2019进行32位汇编环境配置

    1.库文件(很重要) 用我这一份就行:https://www.lanzous.com/i6364hg 2.VS依赖库 打开VS2019,选择桌面向导 配置项目时,选择新项目. 选择生成依赖项 选中ma ...

  5. 视频+图文教程 | Java之安装JDK与环境配置

    演示所用软件JDK 8与Eclipse(Java开发工具)软件下载链接: 链接:https://pan.baidu.com/s/1Vg9ulrQH8WlGRAE89Y02UA提取码:swwl 视频介绍 ...

  6. 使用DOSBox在Win7_x64下搭建汇编环境

    1. 软件安装 1. debug.exe,masm.exe,link.exe,edit.com等汇编工具,一般32位的windows系统有自带,但64位系统下并没有,而且将32位系统下的工具拷贝到64 ...

  7. Mac OS环境下DOSBox汇编环境的搭建

    平台: mac 工具: DOSBox(点击下载DOSBox官网) debug.edit.link.masm等等(点击下载masm汇编开发工具,提取码: skc8) 步骤: 1 .安装DOSBox: 解 ...

  8. MS-DOS 系统汇编环境之DOSBOX+vim

    经过虚拟机的体验,我发现还是dosbox里汇编比较方便..... 一.下载安装 dosbox DOSBOX 准备好 masm.exe.link.exe.debug.exe,放在~/dos下(文件夹名字 ...

  9. win7 64位环境下配置汇编环境和程序设计

    下载dosbox,并解压安装 下载地址: http://pan.baidu.com/s/1eRJbJAq 默认安装到C:\Program Files (x86)\DOSBox-0.74 安装成功后,双 ...

随机推荐

  1. 数据库备份-SQL Server 维护计划

    SQL Server 维护计划(数据库备份)   公司的项目都需要定期备份,程序备份关掉iis站点复制文件就可以了,难受的地方就是数据库的备份了.服务器上装的大都是英文版,一看见英文,操作都变得小心翼 ...

  2. 前端jquery---表单验证

    重点: 1.表单的提交 2.触发blur事件 3.判断是否正确,提交与否 return False <!DOCTYPE html> <html lang="en" ...

  3. (dfs痕迹清理兄弟篇)bfs作用效果的后效性

    dfs通过递归将每种情景分割在不同的时空,但需要对每种情况对后续时空造成的痕迹进行清理(这是对全局变量而言的,对形式变量不需要清理(因为已经被分割在不同时空)) bfs由于不是利用递归则不能分割不同的 ...

  4. hdu2079 选课时间(题目已修改,注意读题) 母函数

    计算数的和的种类,母函数裸题 #include<stdio.h> #include<string.h> ],c2[],a,b; int main(){ int T; while ...

  5. javascript的单例模式

    单例模式是javascript最基本,最有用的模式之一,它提供了一种将代码组织为一个逻辑单元的手段,这个逻辑单元中的代码通过单一的变量进行访问.我的理解是在这个作用域中,只有通过单一的变量来访问,不存 ...

  6. gem install没有反应 解决办法

    在虚拟机上执行gem install redis 没有反应: 百度方法如下: #移除官方镜像,增加淘宝镜像 gem sources --add https://ruby.taobao.org/ --r ...

  7. CentOS升级Python2.6到Python2.7并安装pip

    原文:http://ruter.sundaystart.net/2015/12/03/Update-python/ 貌似CentOS 6.X系统默认安装的Python都是2.6版本的?平时使用以及很多 ...

  8. mysql常用的聚合函数

    GROUP BY(聚合)函数本章论述了用于一组数值操作的 group (集合)函数.除非另作说明, group 函数会忽略 NULL 值. 假如你在一个不包含 ROUP BY子句的语句中使用一个 gr ...

  9. Spring 框架中 ModelAndView、Model、ModelMap 的区别

    Model Model 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类. public class ExtendedModelMap extends ModelMa ...

  10. Linux strace命令 一

    简介 strace常用来跟踪进程执行时的系统调用和所接收的信号. 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核 ...