Я пытаюсь использовать masm32, чтобы узнать о сборке. Я запускаю Windows 8 и могу скомпилировать и запустить образец кода в каталоге masm32 без проблем.Ошибка компиляции MASM32
Я использую Quick Editor 4.0g.
Однако у меня есть следующий код, прямо из «Язык ассемблера» для K86 Irvine для процессоров x86. Он утверждает, что это немного код, который «не зависит от файлов include», хотя я понимаю, что это может быть не совсем правильно.
TITLE Add and Subtract
; This program add and subtracts 32-bit Integers
.386
.model flat,stdcall
.stack 4096
ExitProcess PROTO, dwExitCode:DWORD
DumpRegs PROTO
.code
main PROC
mov eax,10000h
add eax,40000h
sub eax,20000h
call DumpRegs
INVOKE ExitProcess,0
main ENDP
END main
Когда я пытаюсь построить его (я иду к проекту и выберите «Консоль Собирают и Link») Я получаю следующее сообщение об ошибке:
AddSubAlt.obj : error LNK2001: unresolved external symbol [email protected]
AddSubAlt.obj : error LNK2001: unresolved external symbol [email protected]
AddSubAlt.exe : fatal error LNK1120: 2 unresolved externals
Я пытался выяснить это в течение нескольких дней , Я нашел ответ с 2002 года, но он ссылается на библиотеки, которые больше не существуют. Я надеюсь, что некоторые ангелы-гитаристы могут помочь мне исправить это.
Пожалуйста, спасибо!
Вы должны добавить соответствующие файлы '.lib' в командную строку компоновщика для библиотек, из которых вы берете' ExitProcess' и 'DumpRegs'. Кстати, зачем вызывать 'ExitProcess', когда вы можете просто нуля' eax' и 'retn'? – Ruslan
или в коде сборки, вы можете добавить directelves includeelib., Такие как | INCLUDELIB MSVCRTD | | INCLUDELIB OLDNAMES | , – rcgldr
@ Ruslan Если вы спрашиваете меня, почему г-н Ирвин написал код таким образом, я не мог ответить вам. Я также не понимаю, как делать то, что вы сказали. –