0

修理済み; これが修正されたコードです(何もせずにクラッシュしますが、アセンブルされます。これがポイントです):

.686P
.MODEL FLAT
.CODE
_START:
    MOV al, 255
END _START

/cまた、mlでスイッチを使用してから、。で個別にリンクする必要があることもわかりました/SUBSYSTEM:CONSOLE


x86アセンブリとMASM32を再発見したばかりで、基本を再認識しています。このように、私は短くて無意味なプログラムを作成して、何かを組み立てることができるかどうかを確認しました。

.686P
.MODEL FLAT
.CODE
START:
    MOV al, 255
END

私は走っml /coff test.asmてこの出力を得ました:

Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997.  All rights reserved.

 Assembling: test.asm
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

"test.obj"
"/OUT:test.exe"
LINK : fatal error LNK1561: entry point must be defined

STARTがエントリポイントの名前であることをオンラインで読みました。私はこれを間違ってしましたか、これは別の問題ですか?

前もって感謝します!

4

2 に答える 2

1

そのENDディレクティブは、エントリポイントを設定するために使用されます:http: //msdn.microsoft.com/en-us/library/wxy1fb5k (v = vs.80).aspx

したがって、ENDはENDSTARTである必要があります。エントリポイントラベルには、任意の有効なラベル名を使用できます。

于 2012-10-03T21:48:38.837 に答える
0

私はMASMを持っていませんが、通常、エントリポイントは_start:ではなくSTART:です。

このMASMサンプルプログラムを参照してください。

于 2012-10-03T21:45:37.570 に答える