プログラムを貯え、荷を積む
それは必要であり、これを避けるために動かすこと既に集まっていることによってそれ必要でそれを実行するために再度デバッグするであってはなりません巨大な利点のディスクでプログラムを、貯えることは可能であるたびに実用的全体のプログラムをタイプしなかったようでなかろうだろう。
記憶で既に貯えられることプログラムを救うステップは次のとおりである:
- 16進法システムの最初の住所から最終アドレスを、自然に引くプログラムの長さを得なさい。
- プログラムに名前および延長を与えなさい。
- CX記録にプログラムの長さを置きなさい。
- 順序はディスクでプログラムを書くためにデバッグする。
例として次のプログラムを使用してこれらのステップを踏む、私達は方法のより明確な考えを有する。 プログラムは最終的にアセンブルされるときこれのように見える:
0C1B:0100 mov ax,0002
0C1B:0103 mov bx,0004
0C1B:0106 add ax,bx
0C1B:0108 int 20
0C1B:010 A
-h 10a 100
020a 000a
-n test.com
-rcx
CX 0000
:000a
-w
執筆000Aバイト
プログラムの長さを得るためには「h」命令は16進法で私達に2つの数の付加そして減法を示すので、使用される。 私達のものの長さを得るためには、私達は変数としてそれ私達のプログラムの最終アドレス(10A)の価値を、およびプログラムの最初の住所(100)に与える。 最初の結果は命令変数の付加があり、第2が減法であることを私達を示す。
「n」命令は私達がプログラムを示すことを可能にする。 「rcx」命令は私達が最初の住所から私達が「h」のファイルのサイズから得た価値、この場合000aにCX記録の内容を、ので最終アドレスの減法の結果変えることを可能にする。
最後に、「w」命令は何バイトを書いたか示すディスクで私達のプログラムを書く。 また、既に付ファイル2ステップを救うために必要がありなさい:
- 荷を積まれるべきファイルの名前を与えなさい。
- 「l」 (負荷)命令を使用してそれに荷を積みなさい。
上記のプログラムが既に作成されること次のステップの正しい結果を得ることは、必要である。
の中で私達を書く次をデバッグしなさい:
-n test.com
-l
-u 100 109
0C3D:0100 B80200 MOV AX,0002
0C3D:0103 BB0400 MOV BX,0004
0C3D:0106 01D8 ADD AX,BX
0C3D:0108 CD20 INT 20
最後の「u」命令はプログラムが記憶で荷を積まれたことを確認する使用される。 それが何を分解したことをコードを分解し、示すことである。 変数はどこでに分解するかところでからそしてデバッグするために示す。 常に荷を積む住所100Hの記憶でプログラムに、さもなければ示されるデバッグしなさい。
|