1

私はいくつかの調査を行ってきましたが、自分がやりたいことを行うための方法がどんどん見つかり、それらのどれも理解できません.

5コマンド ラインに戻るには、どのコードを .exe にアセンブルする必要がありますか?

呼び出されたときに出力されるexeが必要です5

リサーチ:

printf "5", 0

2つのライブラリとリンクする必要があり、シンプルに保ちたい.

move ebx, 5 ; or move ax, 5
ret

なぜこれは印刷されるの5ですか?これは、レジスタに値5をロードして戻ります。他には何もありません。

誰かがこれらの戻り方の違いを説明してくれません5か?

非常に単純な Windows EXE 実行可能ファイルに最も適しているのはどれですか?

StackOverflow で既に尋ねられた質問の答えを得ることができませんでした。

注、私が使用するもの: Win 7、WinAsam、MASM

ありがとう!

4

1 に答える 1

2

なぜ printf を使わないのですか? Windows では、現在 Windows の一部である MS C ランタイムの一部です。

Windows API を使用すると、次を使用できます。

GetStdHandle

また、次のいずれか:

WriteConsole

WriteConsoleOutput

WriteConsoleOutputAttribute

WriteConsoleOutputCharacter

WriteFile

すべてはあなたがどのようにやりたいかによります。

movレジスターに何かを入力しても何も出力されないため、OS に出力するように指示する必要があります。

理解できないものを見つけた場合は、それについて調査し、ドキュメントを読み、コメントをコーディングし、コードを変更してみて、それがどのように機能するかを確認してください。

于 2013-04-03T00:14:50.017 に答える