在MS-DOS调试工具中的U命令的输出

问题描述:

我正在阅读IBM PC汇编语言和编程手册,并在第三章中我想,作者开始谈论MS-DOS附带的调试工具。在示例中,他使用A命令组装代码,然后使用U命令取消组装相同的代码。在MS-DOS调试工具中的U命令的输出

让我们假设,该代码是这样的:

注:起始地址通过启动这样的组装命令设置为100:A 100

MOV ax, 20 
MOV dx, 10 
ADD ax, dx 
NOP 

的问题就在这里,当他使用U命令将代码从100开始反汇编到106,在那里我们停止输出包含大约5列。

我将它拷贝到这里,希望你能解释一下什么是这些十六进制数字:

`1` `2` `3`   `4` 

073F:0100 B81000  MOV AX, 20 
073F:0103 BB1000  MOV DX, 10 
073F:0106 01C6  ADD AX, DX 
073F:0108 90   NOP 

列2和4是明确的,很简单,但什么是列1和3这些数字?

+1

1,2-是存储器地址,3是字节代码,4是拆卸的字节码? – YOU

+0

@你的意思是1,2只是1列? 073F:0100不是两件事?只是一件事,内存地址? – Kordy

+0

0x073F0100是真实地址,':'仅供人类明确理解,imo。 – YOU

(柱1)* 16 + 2列=实地址 第3栏是机器代码 第4栏是明显的汇编代码

+1

这不是“乘法结果”。它是'col1 * 16 + col2'。 IDK,如果你误解了Weather Vane的解释,或者你选择了错误的词汇来形容它。另外“机器代码”对于col3来说是更好的描述。 “字节码”具有“机器码字节”以外的特定技术含义。 (它表示解释器或JIT编译器的非文本输入,但不是硬件,例如Java字节码。) –

+0

@PeterCordes感谢您的插图 – Kordy