私はIBM PCアセンブリ言語とプログラミングの本を読んでいると思いますが、第3章ではMS-DOSに付属のデバッグツールについて語り始めました。例では、A
コマンドを使用してコードをアセンブルし、U
コマンドを使用して同じコードを逆アセンブルしました。MS-DOSのデバッグツールのUコマンドの出力
コードはこのようなものだったと仮定しましょう:
注:A 100
MOV ax, 20
MOV dx, 10
ADD ax, dx
NOP
質問がとき、ここにある:開始アドレスがそのようなコマンドを組み立て開始することにより、100に設定されています彼はU
コマンドを使って100からのコードを逆アセンブルしました。ここで私たちは106の出力を停止したところで約5つのカラムを含んでいました。
私はここでそれをコピーして、あなたはこれらの16進数がどのようなものを説明することができます願っています:
`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,2は、メモリアドレスでアセンブリコードには明らかであるマシンコードでありますバイトコードの? – YOU
@YOU 1,2というのは1列だけですか? 073F:0100は2つのものではありませんか?ただ一つのこと、メモリアドレス? – Kordy
0x073F0100は実際のアドレスです。 ':'は人間にとってはっきりと理解できるものです。 – YOU