FASM
FASMD – DOS version with IDE
flat assembler
Developer(s) Tomasz Grysztar
Stable release 1.70 / April 20, 2012; 2 months ago  (2012-04-20)
Operating system DOS and IDE, Windows and IDE, Unix-like (Linux, OpenBSD, etc.), MenuetOS, KolibriOS, OctaOS, DexOS and IDE, SkyOS, Solar_OS
Platform x86, x86-64
Type Assembler
License Freeware/Open source/BSD
Website flatassembler.net

FASM (flat assembler) in computing is an assembler. It supports programming in Intel-style assembly language on the IA-32 and x86-64 computer architectures. It claims high speed, size optimizations, operating system (OS) portability, and macro abilities.[1][2] It is a low-level assembler[2] and intentionally uses very few command-line options (see SSSO principle). It is free and open source software.

All versions of FASM can directly output any of the following: flat "raw" binary (usable also as DOS COM executable or SYS driver), objects: Executable and Linkable Format (ELF) or Common Object File Format (COFF) (classic or MS-specific), or executables in either MZ, ELF, or Portable Executable (PE) format (including WDM drivers, allows custom MZ DOS stub). An unofficial port targeting the ARM architecture (FASMARM) also exists.[3]

Contents

History [link]

The project was started in 1999 by Tomasz Grysztar, a.k.a. Privalov, at that time, an undergraduate student of mathematics from Poland. Its was released publicly in March 2000.[4][5] FASM is completely written in assembly language and comes with full source. It is self-hosting and has been able to assemble itself since version 0.90 (May 4, 1999). It has been used to write several operating systems including MenuetOS[6] and DexOS.[7]

Design [link]

FASM originally only ran in 16-bit flat real mode. 32-bit support was added and then supplemented with optional DPMI support. It was written in a way that made it easy to port to any operating system that allowed flat 32-bit addressing; it was ported to Windows and then Linux.

FASM is a low-level assembler. It does not support as many high-level statements as MASM or TASM.[2] It provides syntax features and macros which make it possible to customize or create missing statements.[4] Its memory addressing syntax is similar to TASM's ideal mode and NASM. Brackets are used to denote memory operands as in both assemblers but their size is placed outside the brackets like in NASM.[8]

FASM is a multi-pass assembler. It makes extensive code size optimization, and allows unconstrained forward referencing.[2][8] A usual FASM construct is defining procedures only if they are used somewhere in the code, something that in most languages is done per-object by the linker.

SSSO principle [link]

FASM is based on the SSSO principle (same source, same output): the contents of the resulting file are not affected by the command line.[8] Such an approach saves FASM sources from compiling problems often present in many assembly projects. On the other hand, it makes it harder to maintain a project that consists of multiple separately compiled source files or mixed-language projects. However, there exists a Win32 wrapper called FA, which mitigates this problem[9]. FASM projects can be built from one source file directly into an executable file without a linking stage.[2]

Examples [link]

Several compilers use FASM as a backend:

See also [link]

References [link]

External links [link]


https://wn.com/FASM

Podcasts:

PLAYLIST TIME:

In The Wind

by: Foesum

[Featuring Bo Roc]
Yeah this is Bo Roc from the Dove Shack
G Funk representing baby
And I'm chillin with my homeboys Foesum and the Twinz
(And I'm in the wind)
This is how we gonna set it off for all my folks
T Dubb
I see my games recognized who despise get a glimpse
I'm tryin to seperate myself from these playa hatin simps
rollin down the backstreets with my peeps it's on again
LBC and cuz I'm off in the wind
establish myself to keep my chips on stacks
so face the facts as I bring it to you just like that
don't play me so locc, listen to the Dubb and chill
just loungin wit the homies so I'm keepin it real
now, what about those days when I was strugglin for my pay
when times got rough and some of the homeys went astray
but never the less I keep the facts and regards
stayin true to myself as I'm pullin your card
now break me off cuz I'm settin it off to get my props
still rollin with the fo and shakin those that jock
So peep game as I'm comin through, ooh
cuz what goes around comes around I thought you knew
(Chorus) Bo-Roc
Oh I'm in the wind
I set it off now look around
cuz what goes around, comes around and round
it's calling to be falling but I'm balling
cuz it's all in my game, in my game
M&M-
Verse deuce
Lemme get loose
With your attention as I hit you from a whole nother direction
Perfection, is how it started and I'm finished
cuz even though you hit the top (top)
someday you'll drop (drop), and then diminish (gone)
it's just a struggle living day to day
I count my ends sippin gin in the wind as I fade away
but some be actin like they made in the shade
cuz they paid but really and truly should've stayed
real with yo mind in the right frame
it's cool to floss like the boss but maintain the same game
what you be thinkin it's no tellin
but I stay funkish on my ends
roll with my friends and continue bellin
it's just the way I see things as a G and,
Your lost in the zone
cuz you flossin on your own
I ain't the type to break another homey down
But what goes around comes around
you shoulda listened to the sound
(Chorus)
DJ Glaze-
Yo, I'm bellin in the names and lemme run it to ya
and spit a little game to the homeys on how it's comin to ya
so step aside lemme slide through
while I get to peepin thangs I'm comin from my view
cuz anytime you caught up in the struggle you see it all,
lose some of your homeys around the way and others don't even call
(damn)
But I ain't trippin it ain't like that
if you show me love I show you homey love right back
cuz I ain't never been the type that'll ever forget about ya
get to spreadin rumors that other some people said about ya
cuz in the past we had fun with homeys kickin it deep
but now I'm dippin with them G's from the F to the O to the E
and as for the females you know how they trip
anytime they see you makin chips they quick to get on ya tip
but I ain't goin out, you shoulda stayed down
and watch who you clown
cuz what goes around comes around




×