flat assembler
Message board for the users of flat assembler.

Index > Feedback > My synopsis on FASM

Thread Post new topic Reply to topic

Joined: 03 Sep 2004
Posts: 65
I originally started learning assembler using NASM a few years ago from being self taught. NASM is a good assembler, but unfortunately it's is not updated anymore from what I have heard. Some people at programmers heaven told me I needed to try out FASM and I did. I like the IDE and I'm finding out that I have a new favorite assembler! Smile For people like me that are still learning assembler and are self taught, Fasm made that process that much easier. That being said, I have a few suggestions. My first suggestion would be to revamp the FASM Programmers' Manual to make it more informative and more readable maybe by imploying a document convention of some sort with different typefaces, fonts, and sizes to represent key words or directives. I would also like to suggest quick examples of the use of keywords. I know some are given, however, some are not. Other than that, I think the assembler is on it's way, or is already, to being the best around. I commend the programmer/programmers that have invested so much of thier/his spare time to create and distribute this assembler free of charge. I can only see positive things in the future for this assembler and hope that it continues.
Post 08 Jun 2005, 13:44
View user's profile Send private message Reply with quote
Tomasz Grysztar

Joined: 16 Jun 2003
Posts: 7871
Location: Kraków, Poland
Tomasz Grysztar
I'm still working on adding more examples to manual and is becoming a bit better in this aspect in recent versions.

As for the formatting - it is already available in different versions: plain text, PDF and HTML, and each one uses some convention to differ the code and keywords from the other text. Or do you mean something different?
Post 08 Jun 2005, 14:06
View user's profile Send private message Visit poster's website Reply with quote

Joined: 03 Sep 2004
Posts: 65
The only one I have seen is the HTML version but heres a example of what I was talking about.

"The following assumptions and conventions are adopted to provide clarity
and ease of use.
The words set and clear imply that a register bit or a condition contains
the values logical 1 and logical 0, respectively. When either of these
terms is followed by a number, the word logical may not be included, but
it is implied.
A field of bits within a register is designated as: Register (n–n). For
example: PWM_CR (31–20). A field of bits within a bus is designated as:
Bus n–n . For example: PCntl 7–4 . A range of similar (whole) registers is
designated as: Registern–Registern. For example:
In this document, the terms LSB and MSB, when appearing in upper case,
mean least significant byte and most significant byte, respectively. The
lowercase forms, msb and lsb, mean least significant bit and most
significant bit, respectively.

Commands, code lines and fragments, register (and other) mnemonics,
values, equations, and various executable items are distinguished from
general text by the use of the Courier font. This convention is not used
within tables. For example: The STP bit in the CNTR register must be 1.
Where the use of the font is not possible, as in the Index, the name of the
entity is presented in upper case.

Hexadecimal values are designated by a uppercase H and appear in the
Courier typeface. For example: STAT is set to F8H
The use of all uppercase letters designates the names of states and
commands. For example: The receiver can force the SCL line to Low to
force the transmitter into a WAIT state. The bus is considered BUSY after
the Start condition. A START command triggers the processing of the
initialization sequence.

Initial uppercase letters designate settings, modes, and conditions in
general text. For example: The Slave receiver leaves the data line High. In
Transmit mode, the byte is sent most significant bit first. The Master can
generate a Stop condition to abort the transfer.

Register access is designated by the following abbreviations:
Z80, Z180, Z380 and Z80382 are trademarks of ZiLOG, Inc.
Designation Description
R Read Only
R/W Read/Write
W Write O nly
– Unspecified or indeterminate"

That was copied from my Z-80 manual. Probably the better example is whats in my Sound Blaster 16 programming guide. It is formatted very well, easy to follow and easy to read but I couldn't copy the text to show you. Obviously, this is all at your descretion to format the document how you see fit.
Post 09 Jun 2005, 12:31
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  

< Last Thread | Next Thread >
Forum Rules:
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 can attach files in this forum
You can download files in this forum

Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.

Website powered by rwasa.