Musisz najpierw powiedzieć asemblerowi, że będziesz kożystał z biblioteki dll, w której jest funkcja, której potrzebujesz, a potem wywołujesz funkcję tak, jak każdą inną w konwencji stdcall. Jeśli korzystasz z FASM'a, to funkcję chyba trzeba było wywoływać przez referencję ( call [FunkcjaWinapi] ).
NASM, aby uniknąć odwoływania przez referencję tworzy jednoinstrukcyjne pseudo-funkcje w stylu:
jmp [twojaImportowanaFunkcja]
Przykład dla NASM:
bits 32
extern _Beep
section .text
push 1000 ;dwDuration
push 0x100 ;dwFreq
call _Beep
ret
I komendy do kompilacji:
nasm winApiFunc.asm -f win32
ld winApiFunc.obj %windir%\system32\kernel32.dll