flat assembler
Message board for the users of flat assembler.

Index > High Level Languages > easm

Author
Thread Post new topic Reply to topic
Yardman



Joined: 12 Apr 2005
Posts: 244
Location: US
Yardman 13 Apr 2007, 22:11
[ Post removed by author. ]


Last edited by Yardman on 17 Jan 2012, 03:46; edited 1 time in total
Post 13 Apr 2007, 22:11
View user's profile Send private message Reply with quote
OzzY



Joined: 19 Sep 2003
Posts: 1029
Location: Everywhere
OzzY 13 Apr 2007, 22:27
Looks good!
Syntax looks clean.
Very HLLish but anyway...
I'll have to do further testing...

Just a question:
Does it use FASM as backend?
If yes, it would be even better! Cool
Post 13 Apr 2007, 22:27
View user's profile Send private message Reply with quote
Yardman



Joined: 12 Apr 2005
Posts: 244
Location: US
Yardman 13 Apr 2007, 22:36
[ Post removed by author. ]


Last edited by Yardman on 17 Jan 2012, 03:46; edited 1 time in total
Post 13 Apr 2007, 22:36
View user's profile Send private message Reply with quote
OzzY



Joined: 19 Sep 2003
Posts: 1029
Location: Everywhere
OzzY 13 Apr 2007, 22:41
Add support for include files.
So we don't have to declare every constant from Windows API!

My opinion: Looks good! Keep working on it! It has good future! Wink

The compiler looks very fast. It's not a toy project. Might be worth looking forward.

I think lots of concepts are based on FASM:
* sections declarations looks a lot like FASM's
* Compile directly to .EXE
* All information for assembling/compiling are in the source code/no need for args passed to the assembler/compiler
Maybe more... I just looked at it for 30 seconds. Laughing

It seems compilers are learning something with FASM. Razz
Post 13 Apr 2007, 22:41
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 14 Apr 2007, 09:49
Quote:
The purpose of easm is to be a simple-to-use assembly language which is to specialise in producing the smallest possible executable which executes in the smallest amount of time.

i doubt it can accomplish this by introducing higher-level abstractions (string, HLL procedures), and with "one pass" assembling

Quote:
The assembler is being implemented in C++ using the Microsoft Visual C++ 6 compiler.
wonder how much portable the sources are. Is it ANSI C, or Microsofty C?

IMHO it's bad design with the "one pass", author is just making it easier for himself, by limiting possibilities. In fact he has hit this problem himself, and make it two pass assembler already. See this

Quote:
dword dwSomeDword = deadbeefh

wonder how he differentiates numeric constant "deadbeefh" (0xDEADBEEF) and variable called "deadbeefh".

Quote:
A typical easm source code file is organised into 'sections'. A section is designed to contain a certain type of information.
Quote:
The order of sections in an easm source file is significant. The reason that sections must be ordered specifically is due to the fact that easm makes just one pass of the source file. This means that everything that must be done in order to create the final executable must be done by the time the end of the source code is reached by the parser. Consequently, data and function declarations must be located by the parser before any reference to them is made. If the sections containing these symbols are located after the sections that make reference to them, the assembler will determine that the symbols are undefined
veeeeeery bad (or lazy) design. This means assembler is completely unusable for anything larger. Imagine you want to split surce to two files, how would you do it? in FASM it's possible either by compiling to object format, or when compiling directly to EXE by forward referencing and idata/udata macros.

Quote:
Variables occupy physcial space in the executable and as such, the more variables declared in an application, the larger (in size) the application will be. Put another way, if a particular easm application creates a 1024 byte (1KB) string variable, 1KB of data will be reserved in the executable and the final executable will be 1KB larger in size.
WTF?

sorry for being harsh, but this assembler is really bad/lazy designed, and almost unusuable for real things.
Post 14 Apr 2007, 09:49
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
OzzY



Joined: 19 Sep 2003
Posts: 1029
Location: Everywhere
OzzY 14 Apr 2007, 17:52
Oh yeah!
FASM still pwnz!

FASM + C + D suits me fine for every coding. Very Happy
Post 14 Apr 2007, 17:52
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 cannot attach files in this forum
You can download files in this forum


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

Website powered by rwasa.