I've just put it on my website. It has now "eqtype" operator implemented (there were no better propositions for its name, so I've used the first one), and a fix for the waste of processor cache that parser was doing - because I've got a notice that with latest includes from arkane compilation is strangely slow, and when I was trying to figure out why, I've found that one problem. After fixing it parser does it's work with large sets of equates faster by a factor about 3 on my Duron, I don't know how it'll affect it on other processors - please check it.
Posted on 2003-01-12 15:27:44 by Tomasz Grysztar
Nice, just got it and it works great!

EDIT: NM, found that i was saying format pe gui once already and the file said it again, found this out from the HELLO example

OT: How would you make a WNDCLASSEX structure (for RegisterClassEx function). If you could answer this it would be great, thanks!

Looking forward to future releases,

kairon
Posted on 2003-01-12 15:47:48 by kairon
Whooa!!! Nice job.. it's way too fast than before...

From my 800mhz p3 256mb SDRAM... it took FASM(1.43) 2.8 - 4.0 seconds to assemble(tab.asm - included on the windows.inc translation) but now it just took 1.1 s...

thanks and keep up the good work... :alright:
OT: How would you make a WNDCLASSEX structure (for RegisterClassEx function). If you could answer this it would be great, thanks!
struc WNDCLASSEX

{
.cbSize dd ?
.style dd ?
.lpfnWndProc dd ?
.cbClsExtra dd ?
.cbWndExtra dd ?
.hInstance dd ?
.hIcon dd ?
.hCursor dd ?
.hbrBackground dd ?
.lpszMenuName dd ?
.lpszClassName dd ?
.hIconSm dd ?
.size = $-.cbSize
}

...

proc WinMain, hInst, hPrevInst, pCmdLine, nCmdShow

wcx WNDCLASSEX
msg MSG
hWnd HWND ?
enter

mov [wcx.cbSize], wcx.size
mov [wcx.style], CS_VREDRAW or CS_HREDRAW

...

lea eax, [wcx]
invoke RegisterClassEx, eax
Posted on 2003-01-12 16:30:18 by arkane
Ok Privalov,

After you send me a version 1.43.77 :grin:

I got half by half (~0.6 from ~1.2). But for 1.44 beta1 I got ~0.8 :o

Anyway, thank you for hard work :alright: (I think Masm still better in larg eqaute file processing).
Posted on 2003-01-12 22:00:16 by Bi_Dark

I got half by half (~0.6 from ~1.2). But for 1.44 beta1 I got ~0.8

That's strange, because I've actually got it faster on my system with that later version. So it's very processor-dependent. But I'll try to find some better optimization for the hash scanner (current is dirty).
Posted on 2003-01-13 00:43:26 by Tomasz Grysztar
Thanks Privalov for the 1.44:alright:

Here is an idea for the next release of FASM.

The Sphinx C-- language has an interesting feature,it allows to build a
kind of source code based library:

An example in C--, we have an 'include' file which contains
functions declared with ( : )

:void firstfunc(dword a,b)
{
.
.
}

:void secondfunc()
{
.
}

:void anotherfunc(word c)
{
.
}


The unused functions (declared with : ) are not included in the source
file. Suppose, I am invoking only the "firstfunc" function.It will be included in my source code.

These functions are acting like a hybrid of procedure and macro.

Privalov,could you introduce this feature in next versions of FASM?

Regards,

Vortex
Posted on 2003-01-13 02:30:43 by Vortex
Why? What if functions are depended on others? Current model is fine.
Posted on 2003-01-13 07:18:30 by comrade
You can easily implement it with macros:


macro lproc name
{ if used name
name: }
macro endlp
{ ret
end if}

lproc exampleproc
; ...
endlp
Posted on 2003-01-13 07:30:49 by Tomasz Grysztar
1.44 beta 2 is out - now I've also optimized a bit the hash scanner, but I haven't tested it on other processors that Duron yet, so please check it.
Posted on 2003-01-13 08:49:10 by Tomasz Grysztar

Why? What if functions are depended on others? Current model is fine.


Hello Comrade!

Did you ever use the Sphinx C-- compiler? The hybrid functions are very usefull. Even,if they are depended
on others,there is no any problem with them. :) The concept:By declaring hybrid functions, you can build
a kind of library for FASM. :)

Privalov,

Thanks for your reply!:alright:

Regards,

Vortex
Posted on 2003-01-13 09:29:46 by Vortex

1.44 beta 2 is out - now I've also optimized a bit the hash scanner, but I haven't tested it on other processors that Duron yet, so please check it.


the GUI version 1.44 beta 2 compile speed better in two times :)
processor AMD-K5 100 MHz :)
8.6 sec --> 4.5 sec :alright:
Posted on 2003-01-13 09:44:23 by tserk
Hi, everybody

Maybe it's time to think about of making some kind of fast accessible form
of storing structures, equates, etc which usually don't need more than one pass.

2Privalov, if it's possible just dump to file already parsed equates, strucs def. etc, to a file and than on a next run when such file is included map it to fasm' process address space.
Posted on 2003-01-13 19:50:16 by Sergo
Wow!, It's faster than before :grin: (now ~0.4 on Celeron 1.2G Tulatin)
Ahhh!, I like it. :tongue:
Keep growing, Fasm! :alright:

(I'm still waiting for your 'back indent').
Posted on 2003-01-13 22:10:53 by Bi_Dark
Looks like that timestamp is generated as minus two days.
Posted on 2003-01-14 10:37:58 by tserk
Yes, you have discovered something I'd call "January bug" :grin:
It's fixed now.
Posted on 2003-01-14 11:42:13 by Tomasz Grysztar
Small bug report for FASMW 1.43 on (1.44 beta 3 included):

When you load FASMW in Windows XP and highlight some text and then hit "Backspace" the text is simply moved back a line instead of deleted.
Posted on 2003-01-14 15:55:08 by kairon
This is not a bug. Turn off "secure selection" to get the default Windows behaviour (this question had to be answered many times before).
Posted on 2003-01-14 16:01:55 by Tomasz Grysztar
Perhaps it should be turned off by default then.
Posted on 2003-01-14 17:35:21 by comrade
(1.44 beta 3) ,

Arggg!, It turn back to ~0.6 :mad:
dunno why:confused:
Posted on 2003-01-14 20:46:02 by Bi_Dark

Arggg!, It turn back to ~0.6
dunno why

Must some fault of alignment. As I have tested it on my machine, on Duron it doesn't affect the speed noticeably, but maybe on Intel processors we need some certain alignment for hash scanner loop.
If you want, we can contact by mail and you'll do some testing for me.
Posted on 2003-01-15 07:44:07 by Tomasz Grysztar