- Fasm flat assembler (fasm) is a free multi-pass assembler written by Tomasz Grysztar.
Fasm is written in itself, has a small size and very high compilation speed, and has a rich and powerful macro syntax that allows you to automate many routine tasks.
It supports both object formats and executable file formats. This makes it possible to avoid using a linker in most cases. In other cases, you need to use third-party linkers,
as fasm does not come with one. In addition to the basic set of processor and coprocessor instructions, fasm supports SSE, SSE3, and 3DNow!
- Briefly about FASM, assembler, WinAPI
What is FASM? - It is an assembly language compiler (flat assembler).
What is an assembler? - Are machine instructions, i.e. commands to do something to the processor.
What is a Windows API/WinAPI? - These are Windows functions, you can't work with Windows without them.
What do WinAPI functions give you? - Lots of things:
File handling.
Window handling, drawing pictures, OpenGL, DirectX, GDI, that sort of thing.
Interaction with other processes.
Port handling.
Handling the Windows console.
And lots of other interesting features.
- Why an assembler?
You can use it to do anything from OS to 3D games.
- Here are the advantages of Assembler:
It's very fast.
You can use it to write any program you want.
- The downside of Assembler:
It takes a long time to make a program. (relatively)
Difficult to learn.
-------------------------------------------------------------------------------------------------------