【问题标题】:8086 masm, how to skip entering object filename, source listing, etc and to directly execute asm file in DOSBox using Notepad++ [duplicate]8086 masm,如何跳过输入对象文件名、源列表等,并使用 Notepad++ 在 DOSBox 中直接执行 asm 文件 [重复]
【发布时间】:2018-11-24 04:07:56
【问题描述】:

我正在使用 DOSBox 运行 masm.exe。

当我每次编译和链接我的源文件和目标文件时,一直按“Enter”键只是跳过输入目标文件名、源列表、交叉引用等非常烦人。

我朋友曾经教过我如何跳过这些,但一个学期后我就忘记了,当我问他时,他也忘记了。

我正在处理我的任务,所以如果我可以跳过这个,我可以避免浪费时间按一百次“Enter”键。

感谢任何帮助。

【问题讨论】:

  • 你试过masm /help吗?
  • @Jester 我很累,但我没有找到隐藏或压制它们的选项。
  • 那么你的 masm 一定和我的不一样,上面写着:masm /options source(.asm),[out(.obj)],[list(.lst)],[cref(.crf)][;] 意思是你可以在命令行列出文件,然后它就不会问了。

标签: assembly notepad++ masm dosbox nppexec


【解决方案1】:

感谢@Jester,我找到了解决方案。

只需在文件名后面添加 4 个逗号即可。

只需在文件名后面加一个分号即可~@Ross Ridge

比如需要编译foo.asm和链接foo.obj

*文件扩展名可以跳过。

masm foo;

链接也一样

link foo;

用法:

所以你可以使用 NppExec 通过 Notepad++ 直接执行你的 asm 文件

"<insert your DOSBox directory>" -c "mount <insert drive that contain 8086 folder> <insert 8086 folder directory>" -c "<insert drive that contain 8086 folder>:" -c "masm $(NAME_PART);" -c "link $(NAME_PART);" -c "$(NAME_PART)"

我的脚本是:

"D:\Program Files (x86)\DOSBox-0.74\DOSBox.exe" -c "mount d d:\8086" -c "d:" -c "masm $(NAME_PART);" -c "link $(NAME_PART);" -c "$(NAME_PART)"

此脚本可帮助您只按一键而不是按 30 多次键(是的,我数过)来执行您的 .asm 文件。


以下步骤适用于不知道如何使用 Notepad++ 或 NppExec 的人:

  1. 安装记事本++
  2. 安装插件管理器
  3. 使用插件管理器安装 NppExec
  4. 按 F6
  5. 粘贴脚本
  6. 按保存并命名
  7. 转到插件 > NppExec > 高级选项
  8. 在关联脚本 > 添加/修改 > 关闭中选择您保存的脚本
  9. 转到宏 > 修改快捷方式/删除快捷方式 > 选择插件 命令选项卡 > 为您的脚本设置快捷方式

*记得把你的.asm文件和你的masm.exe放在同一个目录

完成!希望我能尽量减少你的痛苦。

【讨论】:

  • 在 Linux 上(使用 NASM + ld 构建本机可执行文件),我通常使用脚本来组装+链接,然后在同一行上实际运行程序,如果它组装好的话。 (asm-link foo.asm &amp;&amp; ./foo)。所以我的工作流程是:1)保存在emacs中,2)alt+tab 3)向上箭头+返回。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-27
  • 1970-01-01
  • 1970-01-01
  • 2016-07-17
  • 1970-01-01
  • 2012-11-17
相关资源
最近更新 更多