The fasmg sources use some macros that enable the same syntax as the macros defined in fasm's official headers, you can find them in source/windows/selfhost.inc
This example for fasmg could be simplified a bit by using such macros:
; note: the FORMAT.INC from latest packages includes the instruction set
; macros on its own; if you need to select the exact instruction set,
; you have to use the PE.INC formatter directly
; include '80386.inc'
librarykernel,'KERNEL32.DLL',\ user,'USER32.DLL' importkernel,\ ExitProcess,'ExitProcess',\ CreateFile,'CreateFileA',\ ReadFile,'ReadFile',\ WriteFile,'WriteFile',\ CloseHandle,'CloseHandle',\ SetFilePointer,'SetFilePointer',\ GetCommandLine,'GetCommandLineA',\ GetEnvironmentVariable,'GetEnvironmentVariable',\ GetStdHandle,'GetStdHandle',\ VirtualAlloc,'VirtualAlloc',\ VirtualFree,'VirtualFree',\ GetTickCount,'GetTickCount',\ GetSystemTime,'GetSystemTime',\ GlobalMemoryStatus,'GlobalMemoryStatus' importuser,\ MessageBoxA,'MessageBoxA',\ wsprintfA,'wsprintfA' ; rest of the source unchanged
I have not yet started working on an official set of Windows macro headers for fasmg, because my thought was that perhaps the could make a better use fasmg macro engine by adopting some new syntax. The macros like "import", and all resource macros, use the syntax that is a relic of times when fasm had only a very basic macro processor. With the macros of fasmg it could be possible to implement something much more sophisticated, or even emulate syntax of some other assemblers if needed.
Still, because fasm's old resource macros are so simple, it should be a straightforward work to convert them when anyone needs them.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum