Это, наверное, самая простая программа.
Используются всего две
функции:
MessageBoxA из USER32.DLL и
ExitProcess из
KERNEL32.DLL.
Суффикс A у MessageBox означает, что функция работает с
однобайтовыми
ANSI строками. Для двубайтных Unicode строк - суффикс W, e.g.
MessageBoxW.
Сама функция MessageBox выводит сообщение в отдельном оконе, ее
прототип:
int MessageBox( HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType );
Параметры:
hWnd - идентификатор окна, из которого вызывается
MessageBox
lpText - указатель на null-terminated строку,
содержущая текст сообщения
lpCaption - указатель на
null-terminated строку, содержущая заголовок
сообщения
uType - вид диалогового окна
Функция
ExitProcess заканчивает процесс и все образованные процессы из этого
процесса.
VOID ExitProcess( UINT uExitCode, );
uExitCode - код выхода
Параметры функции передаются по
следующей схеме:
AnyFunction(first_param, second_param, third_param); push [third_param] push [second_param] push [first_param] call AnyFunctionили
call AnyFunction, [first_param], [second_param], [third_param]
Вот сама программа:
.386 .model flat extrn MessageBoxA:proc extrn ExitProcess:proc .data mb_text db 'Hello, World!',0 mb_caption db 'My first program',0 .code start: push 0 push offset mb_caption push offset mb_text push 0 call MessageBoxA push 0 call ExitProcess ends end start
Программу можно взять здесь