vscode php插件_VScode配置MASM32运行环境(断点/运行/debug/配合emu8086(非DOSBox))

一、之所以不用DOSBox

不利于集成到VScode,执行代码需要新开窗口,配置繁琐。ps:而且加断点和调试复杂。

感谢masm-code插件的作者,终于可以补全啦qaq

添加关于调试的一些建议

二、步骤

0.网络状况不好可以用度盘资源:

//20200403 update

dos-player

masm32

1.安装VScode

2.安装masm-code, code runner插件

3.从masm32 sdk ver11下载所需的masm,如果下载不了可以自行换镜像,或者百度下载。

3.1.解压,然后换路径,一路yes就可以了。

3.2.记下安装位置,比如我的在g盘根目录。

4.百度或谷歌搜索ms-dos player,下载这个软件,或者从链接的GitHub上面下载源码,编译安装。

4.1.解压里面的msdos到X:Program Files (x86),X为想安装到的盘符。

4.2.记下安装位置。

5.添加环境变量:对于win10,win+R输入SystemPropertiesAdvanced>环境变量>系统变量>找到Path变量>打开>添加如下两个变量(根据安装masm和msdos的位置不同前面的路径要调整):

129bc42251ac9c513b4239a2b521009b.png

*note:如果不是64位系统就在binary文件夹下选择相应的文件夹

*note:可以测试,如果加入Path成功,在PowerShell里面输入msdos , ml /? 以及link16 /?会有出现相应的信息。如果没有可以尝试重启。

6.打开VScode, ctrl+shift+P打开搜索json,选择:

fda48fb4269a13dc0d23e12cff81fde4.png

7.在末尾添加设置:

*经评论中 @影生 提出,将选项/AT去除然后将输出文件的扩展名改为.EXE,这样可以用伪指令格式书写程序。

"code-runner.executorMap"

三、helloworld测试

; *************************************************************************

这里的.code 写法相当于 :

_TEXT SEGMENT WORD PUBLIC 'CODE'

详细如下:

a057f357ed0f0390bf1bad2b02fb41d0.png

输出:

d9fae6272a659ee8fce9ed235f9eaf29.png

一键运行。

//20200403 update

利用emu8086完成复杂的调试:

**先安装open插件**

在emu8086设置中设置(工具栏)默认打开(右下角)

emu8086 for win10

在vsc里面编辑好文件后利用ctrl+alt+O用emu8086打开,然后进行各种调试

note:如果要链接额外的文件可以参考官方文档:

ML and ML64 Command-Line Referencenote:

ML and ML64 Command-Line Reference​docs.microsoft.com

MSVC Linker options:

MSVC Linker options​docs.microsoft.com
5b47d5f33d0c45f73c2552c0ff9e9295.png

*note:链接器的选项要写在/link选项

三、关于调试

[patch] Connect a Gdb client to DOSBox​www.vogons.org

最近又找到了一个调试汇编的方案,如果成功的话可以用vscode的native debug来调试:

路线1:编译安装djgpp版本的gdb -- 安装到dos里面 --利用里面的gdbserver连接虚拟机的COM端口 -- vsocde里面用native debug 连接,调试

路线2(最接近完成):利用上面dosbox-x 的patch --编译dosbox-x --连接gdbserver -- vscode 用native debug连接

路线3:利用wsl或者msys2安装或者编译qemu -- 利用gdbserver连接COM口 -- 连接vscode

但是现在的难点是找不到相应dosbox-x的版本,如果有找到的大佬麻烦留言呀!

后续应该会怎加一些汇编的例子和专门讲比较c和汇编的文章。(20201108)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值