flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Randall Hyde 16 Jan 2004, 18:04
BTW, those interested in benchmarking FASM's improvements might want to volunteer to participate in the following project:
http://www.masmforum.com/topic.php?t=1758 The premise is to develop a standardized set of performance evaluation tests for different assemblers. Input concerning FASM would be most welcome. Originally, this project was started as a way to quiet some outrageous claims about MASM's performance. But it's quickly morphing into (the concept for) a useful tool for assembler developers to use to pinpoint problems in their assemblers. I'm sure the results from this benchmark series will be much more useful than that 25MB file I created a while back (whose sole purpose was *not* to test FASM, but simply to demonstrate that the claim "SpAsm will never take five minutes to assemble a program" was untrue). Cheers, Randy Hyde |
|||
![]() |
|
Tomasz Grysztar 21 Jan 2004, 18:56
Is there any progress? It would be nice to test the fasm 1.51 improvements over 1.50 with such a benchmark.
|
|||
![]() |
|
donkey 23 Jan 2004, 20:30
Privalov wrote:
Hi Privalov, I have been working on the equate generator and I am nearly done. It will generate a list of unique equates of a specified size and includes both hex and decimal values (roughly equally) randomly distributed, string equates (much less frequent). The equate labels can be anywhere from 3 to 23 characters randomized using a Mersenne twister. All equate names begin with an alpha character and contain only characters 0-9 and A-Z (no lower case). The program automatically generates an identical set of equates for various assemblers to insure identical distribution and provide a valid test. I have attached the generator, I would appreciate your opinion: TODO: Introduce duplicated equates Introduce algorithms ie KSAJDKA EQU KSDJASK + ASDJSHIU
_________________ "Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender "It was just a dream, Bender. There's no such thing as two". -- Fry -- Futurama Last edited by donkey on 23 Jan 2004, 20:57; edited 1 time in total |
|||||||||||
![]() |
|
Tomasz Grysztar 23 Jan 2004, 20:40
I have noticed two problems: one is that some of the generated names are reserved words (mainly the 3-letter ones, like ADD or CR0) and cause an error, because fasm doesn't allow to define constant/label of such name. The second problem is less frequent and occurs when you define some constant using EQU and then try to define the numerical constant of such name, like:
Code: JVZT equ 'JVZT' and then Code: JVZT = 610532362 The preprocessor replaces all JVZT occurences in source with 'JVZT' (in fasm EQU works a bit like a macro), and so assembler comes with an error, because it finds in source something like this: Code: 'JVZT' = 610532362 and it's invalid construction. |
|||
![]() |
|
donkey 23 Jan 2004, 20:49
Hi Privalov,
Thank you for the input. I will write a filter for reserved names, most can be eliminated by increasing the minimum size to 7 characters then I can have the generator check for the few exceptions that remain. I had worked on the assumption that a Mersenne twister would not allow for a duplication in the character string. Thinking about it I reseed it with RDTSC so the possibility of a duplicate is introduced, I will attempt to work out a way to eliminate string equates having any possibility of duplication. I have uploaded a version with 7 characters as the minimum size, I have not filtered any reserved names as I don't know of any over 7 chars. Also I did not actually statistically analyze it but I am under the firm belief that with 7 chars the odds of a duplicated symbol are so huge that it can be assumed that it will not happen. _________________ "Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender "It was just a dream, Bender. There's no such thing as two". -- Fry -- Futurama |
|||
![]() |
|
Randall Hyde 30 Jan 2004, 23:43
I posted a notice about my new assembler benchmark generator in the thread about speeding up FASM. This new generator has a FASM compatible output mode. Interested individuals might want to take a look at this.
Cheers, Randy Hyde |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.