在Win10下利用vscode调试32位、16位汇编方法(masm-code + debugger)

在Win10下利用vscode调试32位、16位汇编方法(masm-code + debugger)

这学期学汇编,老师推荐的工具是Masm for Windows。不过这软件又丑又老有些功能还要钱。一直在找改进方法,各种古老的ide也试过,xp虚拟机也试过,都不尽人意。偶然看到有人推荐vscode的masm-code插件,可以一键编译运行汇编程序,用起来确实可以,但是用的dosbox比较老,看不了32位寄存器。后来发现可以把它和一个叫做debugger的工具整合起来直接调试32位汇编程序,用起来就很舒服了。

安装方法:
1)vscode下载安装

2)masm-code插件安装。

2)下载debugger程序代替原插件中的dosbox。

debugger下载地址

debugger的好处在于能直接看32位寄存器,还能在同一个视图同时看代码段和数据段和寄存器值。

下载完debugger后,解压文件,放在一旁备用。

在masm-code插件安装完成后,如下文件夹中是masm-code插件的内容。

C:/Users/[用户名]/AppData/Roaming/Code/User/globalStorage/kaixa.masm-code/
该文件夹中原本的dosbox.exe是较老的工具,我们需要用下好的debugger代替它。

1)将插件文件夹中原来的dosbox.exe名字改成dosbox.exe.bak做个备份

2)将debugger复制到插件文件夹中并把名字改成dosbox.exe

安装完成。

在vscode中,写完asm文件后,按下ctrl+shift+p就能选择一键编译生成可执行程序并执行它。

可执行文件生成后,在dosbox中可以输入命令:debug 可执行文件名用debugger进行调试。

这是调试的方法:debugger操作手册 ,这个页面往下滑,有些debugger的一些操作。

因为我就是应付课程,写点小程序而已,没用到下断点之类的高级功能,用得多的几个操作如下:

F5: 程序直接运行到结束
F10或F11: 执行下一条指令(F11和F10好像有点区别,但一下子没想起来(不重要(lll¬ω¬)))
alt+d: Data Overview窗口根据当前ds值将视图移动到数据段
alt+s: Data Overview窗口根据当前ss值将试图移动到栈
后记
帮几个同学搞的时候,安装masm-code插件有问题:vscode中显示插件安装完成了,但是实际上东西没下下来,表现出来的症状是按ctrl+shift+p后无法启动启动dosbox。原因在于没有成功下载插件,以下文件夹的内容为空。

C:/Users/[用户名]/AppData/Roaming/Code/User/globalStorage/kaixa.masm-code/
解决办法:。。没啥方法,多试几次,实在不行扶墙弄

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目 Value
电脑 $1600
手机 $12
导管 $1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列 第二列 第三列
第一列文本居中 第二列文本居右 第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPE ASCII HTML
Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
Quotes "Isn't this fun?" “Isn’t this fun?”
Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。1

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06 Mon 13 Mon 20 已完成 进行中
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值