flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Yardman
[ Post removed by author. ]
Last edited by Yardman on 17 Jan 2012, 03:46; edited 1 time in total |
|||
![]() |
|
OzzY
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! ![]() |
|||
![]() |
|
Yardman
[ Post removed by author. ]
Last edited by Yardman on 17 Jan 2012, 03:46; edited 1 time in total |
|||
![]() |
|
vid
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. 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 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. sorry for being harsh, but this assembler is really bad/lazy designed, and almost unusuable for real things. |
|||
![]() |
|
OzzY
Oh yeah!
FASM still pwnz! FASM + C + D suits me fine for every coding. ![]() |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.