http://s6.uploads.ru/yAejq.png

Меньший размер подключаемой библиотеки

format PE GUI 4.0
    include 'win32a.inc'
    entry start

section '.data' data readable writeable
    MBoxHwnd=HWND_DESKTOP 
    MBoxTitle db 'MessageBox',0
    MBoxText db 'Привет',0
    MBoxStyle=MB_OK

section '.code' code readable executable
    start:
        invoke MessageBox, MBoxHwnd, MBoxText, MBoxTitle, MBoxStyle
        invoke ExitProcess,0

section '.library' import data readable writeable
    library KERNEL32, 'KERNEL32.DLL',\
            USER32, 'USER32.DLL'
   
    import KERNEL32,\
           ExitProcess, 'ExitProcess'
   
    import USER32,\
           MessageBox, 'MessageBoxA'

Примечание

'-' подключается минимум кода
'+' писать приходится больше кода

format PE GUI 4.0 ;использовать формат PE, графическая подсистема

include 'win32a.inc' ;вставляет в указанное место текст из другого файла при компиляции

section '.data' data readable writeable ; подключение секции данных

MBoxHwnd=HWND_DESKTOP ; числовая переменная

MBoxTitle db 'MessageBox',0 ; переменная-указатель, указывает на первый символ строки, строка читается до нуля

MBoxText db 'Привет',0 ; переменная-указатель, указывает на первый символ строки, строка читается до нуля

MBoxStyle=MB_OK ; числовая переменная

section '.code' code readable executable ; подключение секции кода

start: ; метка с этого места начнет исполняться наша программа

invoke MessageBox, MBoxHwnd, MBoxText, MBoxTitle, MBoxStyle ; макроинструкция invoke. Она вызывает встроенную в Windows API-функцию MessageBox.

invoke ExitProcess,0 макроинструкция invoke. Она вызывает встроенную в Windows API-функцию ExitProcess.

section '.library' import data readable writeable;подключение библиотеки

library KERNEL32, 'KERNEL32.DLL',\
USER32, 'USER32.DLL'; подключается библиотека KERNEL32.DLL,USER32.DLL

import KERNEL32,\
ExitProcess, 'ExitProcess'; в библиотеке KERNEL32.DLL используем функию ExitProcess

import USER32,\
MessageBox, 'MessageBoxA';в библиотеке USER32.DLL используем функию MessageBoxA

Отредактировано Artem (2013-12-09 22:56:31)