在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)* 16 + 2列=实地址 第3栏是机器代码 第4栏是明显的汇编代码
这不是“乘法结果”。它是'col1 * 16 + col2'。 IDK,如果你误解了Weather Vane的解释,或者你选择了错误的词汇来形容它。另外“机器代码”对于col3来说是更好的描述。 “字节码”具有“机器码字节”以外的特定技术含义。 (它表示解释器或JIT编译器的非文本输入,但不是硬件,例如Java字节码。) –
@PeterCordes感谢您的插图 – Kordy
1,2-是存储器地址,3是字节代码,4是拆卸的字节码? – YOU
@你的意思是1,2只是1列? 073F:0100不是两件事?只是一件事,内存地址? – Kordy
0x073F0100是真实地址,':'仅供人类明确理解,imo。 – YOU