flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
revolution 25 Jan 2025, 12:25
Mat Quasar wrote: Out of curiousity, I use disassembler to see ... So for fasm you can also examine the macros to discover the internal details of everything they can do and how they work. |
|||
![]() |
|
Mat Quasar 25 Jan 2025, 12:55
Thanks @revolution. So far I have examined "invoke", "cinvoke", "fastcall", "stdcall", "locals" and "proc...endp".
Even the "library" and "import" keyword in PE ".idata" section are also macro, I think. Once I know how it is translated to raw Assembly, I am more happier to use the macros. |
|||
![]() |
|
AsmGuru62 25 Jan 2025, 13:53
These macro also have an awesome feature.
If you have the proc/endp declared in the source, but the name of the 'proc' is not mentioned anywhere else, then the EXE file FASM produces will not have the code between proc/endp included! It is like HLL Linker option: "Remove unreferenced code". Very cool! Say, you have a file with 50 functions and you include it and call only a couple of functions. Only their code will be inside the EXE file. In x64 code proc/endp also balance the stack on 16 byte frame automatically, even if you declare locals. |
|||
![]() |
|
Mat Quasar 25 Jan 2025, 14:43
Good to know, @AsmGuru62.
|
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.