FASM FASM

FASM - Definition and Overview

FASM is an assembler for the IA-32 architecture. The name stands for "flat assembler". FASM itself is written in assembly language and is also avaliable on Linux, Windows, and Menuet systems. It shatters the "assembly is not portable at all" myth. FASM has some features that are advanced for assembly languages, such as macros, structures, and "virtual data". FASM contains bindings to the Microsoft Windows GUI and OpenGL.

Menuet is an operating system written in 100% FASM assembly language.

Fasm borrows much of its syntax from the Nasm assembler, and both include features such as flat binary output, and output of ELF, COFF objects. Fasm can also directly output executables in both ELF format, and PE format. (aka, linux and Windows .exe).

Features common in both Nasm and Fasm (and a few other assemblers): $ describes current location. Useful for determining the size of a block of code or data. Example of use: mystring db "This is my string", 0 mystring.length equ $-mystring

Local Labels, which begin with a .

globallabel:

.locallabelone:

.locallabeltwo:

globallabel2:

.locallableone:

.locallabeltwo:

Some Advanced Features in Fasm: Macros in Fasm are C-Like described and created like this:

macro (name) (parameters) { macro code. }

For example:

   macro mov op1,op2,op3
    {
     if op3 eq
       mov   op1,op2
     else
       mov   op1,op2
       mov   op2,op3
     end if
    }

Could be used to overload the mov instruction to accept three parameters in Fasm.

External link

Example Usage of FASM

marii_santiago: Geente passei no Senai Cetiqt, e o resultado da FASM q não chega -.-
leonardq: RT @babi_queiroz CARA PASSEI NA UFAM AE! Só falta o resultado da FASM e da UEM, vou passar em TODAS! :D
catarinaazevedo: Espero que a Simone Mina assuma logo a cordenação da FASM
Copyright 2009 WordIQ.com - Privacy Policy  :: Terms of Use  :: Contact Us  :: About Us
This article is licensed under the GNU Free Documentation License. It uses material from the this Wikipedia article.