【发布时间】:2017-05-17 20:33:47
【问题描述】:
我正在为 MS-DOS 编写一些小工具。现在我正在写一个Shutdown.com,就像Windows XP 和更高版本一样。我已经写了整个代码,现在我只需要从 DOS 传递参数。
我需要传递参数“-r”来重启,“-s”来关闭。
我该怎么做?
我在 Windows 98 上使用 TASM(Turbo Assembler 4.1) 进行链接和编译。我正在寻找一种非常简单的方法来做到这一点,如果可能的话,仍然是一个.COM 程序。我看起来与 C 语言中的 ARGV 和 ARGC 完全一样,但对于 16 位汇编...
-
shutdown -r将重启 -
shutdown -s将关闭
请记住,我已经知道如何重新启动以及如何关闭 PC。
我只需要学习如何将参数从 MS-DOS 命令行传递到我的程序。
【问题讨论】:
-
你打电话给什么实体?另一个程序? BIOS?汇编程序如何期望参数被传递?
-
.com文件接收PSP at offset 80h 中的参数。该页面甚至有汇编示例代码;) -
作为一个兴趣点,您的 shutdown.com 是否有效?我以为 XP 及更高版本不允许 16 位应用程序关闭机器。
-
他们当然不会,@klitos。他没有使用 Windows,他实际上是在编写一个 DOS 应用程序。你知道,它是在 DOS 下运行的,而不是 NT DOS。
-
@KlitosKyriacou Here 我关机时的代码。适用于 MS-DOS,但不适用于 Windows 98。在这里完美运行。
标签: assembly dos tasm 16-bit x86-16