2012-10-03 3 views
0

Исправлено; вот фиксированный код (ничего и падает не делать, но это монтирует, которая является точкой):«фатальная ошибка LNK1561: точка входа должна быть определена» ошибка MASM32 в очень простой программе

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

Я также обнаружил, что я должен был использовать переключатель /c с мл, а затем связать отдельно с /SUBSYSTEM:CONSOLE.


Просто Вновь открытая x86 сборка и MASM32 и подвожу себя reacquainted с основами. Я написал короткую, бессмысленную программу таким образом, чтобы увидеть, если я мог собрать что угодно:

.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 

я прочитал в Интернете, что СНВ было имя входа точка. Я сделал это неправильно или это другая проблема?

Заранее благодарен!

ответ

0

У меня нет MASM, но обычно точкой входа является _start:, а не START:.

См. this MASM example program.

+0

Спасибо! Я сделал еще несколько исследований, а также, что, будучи правильным (_START также работает), я забыл закончить программу с помощью 'END _START'. Теперь он собирается. – Archimaredes