ここでアセンブリ言語について質問しました。16ビットプログラムは使いづらいと感じました。だから今私はそれを32ビットに変えたいと思っています。これが私が試していた最初のプログラムのコードです:
[org 0x0100]
mov ax, 5
mov bx, 10
add ax, bx
mov bx, 15
add ax, bx
mov ax, 0x4c00
int 0x21
ex01.asm という名前を付けました。NASM を使用して COM ファイルを作成しました。コマンドは
nasm ex01.asm -o ex01.com -l ex01.lst
しかし、作成した COM ファイルを Ollydbg で使用することはできません。このプログラムを win xp または win 7 で動作するように変更して Ollydbg を使用できるようにするには、どのような変更を行う必要があり、その理由は何ですか? 私の考え :
ORG 0x100 を変更する必要があると思います。それは私が思うCOMファイルに固有のものです。知りたいのですが、ここでどのような変更を加える必要がありますか? COM ファイルは win XP と win 7 で動作しませんか? COM ファイルの代わりに EXE ファイルを作成する必要はありますか? この手順を理解したいだけです。
プログラムが終了したことを DOS に伝えるために使用されるため、最後から 2 番目の行を変更する必要があります。ここでどのような変更を行う必要がありますか?またその理由は?
最後の行が使用される理由を忘れましたか? 誰かが私に教えてもらえますか?