Это, наверное, самая простая программа.
Используются всего две функции:
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
Программу можно взять здесь