几年前,我曾经为 MS-DOS 操作系统编写 x86 汇编程序;它们中的大多数仍然未经修改地在 Windows CMD.EXE 命令处理器中运行。我的问题是关于这些程序中的两个具体点:
程序参数位于程序段前缀中的偏移量 81H 处,最大长度为 127 个字符。
程序返回的 ERRORLEVEL 值在 INT 21H 的终止程序功能 (4CH) 之前加载到 AL 寄存器中,因此它被限制在 0-255 范围内的值。
我意识到在 Windows XP 中,在 DOS 窗口中执行的命令可以处理高达 8 KB 大小的参数,并且可能会返回一个 32 位有符号值作为 ERRORLEVEL。所以我的问题是:旧式 MS-DOS 汇编程序是否有一种简单的方法可以访问 8KB 参数并返回 32 位 ERRORLEVEL 值?
是的,我知道一个符合 Windows 的汇编程序可以访问这些功能,但我想知道一个程序是否可以以一种非常简单的方式做到这一点......