Точка входа
Есть простенькая прога на асме.
При запуске говорит что точка входа в MESSAGEBOXW не найдена в user32.dll.Tasm32.
Это моя первая попытка что то написать на x86 да еще с использованием API.
includelib c:\Tasm\LIB\IMPORT32.LIB
.386
.model flat
extrn MessageBoxW:PROC
.data
Ttl db "First ASSEMBLER program",0h
Msg db 'Hello, World!!!!',0h
.code
start:
push 0h
push offset Msg
push offset Ttl
push 0h
call MessageBoxW
push 0h
end start
Во-вторых, если MessageBoxW, то надо не db, а du использовать (это в FASM, а TASM может и что-нить другое).
В-третьих, попробуй MessageBoxA и проверь правильность написания имён процедур и библиотек.
Во-вторых, если MessageBoxW, то надо не db, а du использовать (это в FASM, а TASM может и что-нить другое).
В-третьих, попробуй MessageBoxA и проверь правильность написания имён процедур и библиотек.
ExitProcess ничего не меняет.был убран на время.
Msg db 'Hello, World!!!!',0h здесь du?
MessageBoxA та же ерунда абсолютно.
Если что то написать не правильно он орет про то что не найдено такое вообще.А тут только точка входа.
Да, тут. Это конечно ситуации не изменит сейчас... Просто MessageBoxW - вывод сообщение в Unicode, а строка объявленная с помощью db в кодировке ANSI. Кстати, для du придется искать макрос т. к. насколько мне известно ассемблер нормально закодирует в Unicode только латиницу, т. к. её ANSI коды совпадают с Unicode.
А ExitProcess когда стоит (без MessageBox) нормально работает? не вылазит ошибок?
А ExitProcess когда стоит (без MessageBox) нормально работает? не вылазит ошибок?
Вылазит.Только на этот раз про kernel32 и опять точка входа(
Да может это важно у меня win 7.
Надеюсь это именно та библиотека,а то сам еле нашел
Иначе он не учитывает регистр. А для API MessageBoxW и MESSAGEBOXW это две разные функции.
Второй нету в user32.dll, по этому и пишет ошибку.
Иначе он не учитывает регистр. А для API MessageBoxW и MESSAGEBOXW это две разные функции.
Второй нету в user32.dll, по этому и пишет ошибку.
Вот спасибо!!
Я если честно думал,что если такого типа косяк будет он заругается еще на этапе компиляции.Ведь если левую функцию попробовать вызвать он ругается на это..