▶ 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 工具栏中,工具,选项,环境,扩展和更新,自动检查更新。

  汇编环境配置及 Hello World。DOSBox,debug.exe,VisualStudio-LMLPHP

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

  汇编环境配置及 Hello World。DOSBox,debug.exe,VisualStudio-LMLPHP

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

  汇编环境配置及 Hello World。DOSBox,debug.exe,VisualStudio-LMLPHP

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

  汇编环境配置及 Hello World。DOSBox,debug.exe,VisualStudio-LMLPHP

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

  汇编环境配置及 Hello World。DOSBox,debug.exe,VisualStudio-LMLPHP

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

  汇编环境配置及 Hello World。DOSBox,debug.exe,VisualStudio-LMLPHP

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

  汇编环境配置及 Hello World。DOSBox,debug.exe,VisualStudio-LMLPHP

▶ 测试代码

 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

05-11 09:30
查看更多