可以按两种方式使用 n 命令。首先,您可以使用它以指定后面的 l(加载)或
w(写入)命令所使用的文件。如果在没有命名所调试文件的情况下启动
Debug,必须在使用 l 命令加载文件之前使用命令 nfilename。在 CS:5C 为文件控制块
(FCB) 正确编排文件名的格式。其次,可以使用 n
命令指定被调试文件的命令行参数和开关。
内存区域
以下四个内存区域都会受到 n 命令的影响:
内存位置
内容
CS:5C
文件 1 的文件控制数据块 (FCB)
CS:6C
文件 2 的文件控制数据块 (FCB)
CS:80
n 命令行的长度(以字符表示)
CS:81
n 命令行字符的开头
为 n 命令指定的第一个文件名被放在 CS:5C 的 FCB
中。如果指定第二个文件名,此名称将放置到 CS:6C 的 FCB 中。n
命令行上键入的字符数(除第一个字符之外,n)存储在位置 CS:80。n 命令行上的实际字符(再次,除了字母 n
之外)存储在以 CS:81 开头的位置。注意这些字符可以是在 Windows 2000
命令提示符下键入的命令中有效的任何开关和分隔符。
如果在没有参数的情况下使用,则 u 命令分解 20h 字节(默认值),从前面 u
命令所显示地址后的第一个地址开始。
range
指定要反汇编代码的起始地址和结束地址,或起始地址和长度。有关 range
参数有效值的信息,请单击“相关主题”列表中的 Debug。
有关集成记忆码的信息,请单击“相关主题”列表中的 Debug A(汇编)。
有关显示内存部分内容的信息,请单击“相关主题”列表中的 Debug
D(转储)。
范例
要反汇编 16 (10h) 字节,从地址 04BA:0100 开始,请键入以下命令:
u04ba:100l10
Debug 按以下格式显示结果:
04BA:0100 206472 AND [SI+72],AH
04BA:0103 69 DB 69
04BA:0104 7665 JBE 016B
04BA:0106 207370 AND [BP+DI+70],DH
04BA:0109 65 DB 65
04BA:010A 63 DB 63
04BA:010B 69 DB 69
04BA:010C 66 DB 66
04BA:010D 69 DB 69
04BA:010E 63 DB 63
04BA:010F 61 DB 61
如果只显示从 04BA:0100 到 04BA:0108 特定地址的信息,请键入以下命令:
u04ba:0100 0108
Debug 显示以下内容:
04BA:0100 206472 AND [SI+72],AH
04BA:0103 69 DB 69
04BA:0104 7665 JBE 016B
04BA:0106 207370 AND [BP+DI+70],DH
Handle xx has xx pages allocated
Physical page xx = Frame segment xx
xx of a total xx EMS pages have been allocated
xx of a total xx EMS handles have been allocated
范例
要显示扩展内存信息,请键入以下命令:
xs
Debug 显示与以下类似的信息:
Handle 0000 has 0000 pages allocated
Handle 0001 has 0002 pages allocated
Physical page 00 = Frame segment C000
Physical page 01 = Frame segment C400
Physical page 02 = Frame segment C800
Physical page 03 = Frame segment CC00
2 of a total 80 EMS pages have been allocated
2 of a total FF EMS handles have been allocated