flat assembler
Message board for the users of flat assembler.

Index > Heap > Famous optimization manual updated!

Author
Thread Post new topic Reply to topic
MazeGen



Joined: 06 Oct 2003
Posts: 975
Location: Czechoslovakia
MazeGen
Agner Fog wrote:

It is now ten years since I first published my optimization manual. It has been so successful that I feel I have to keep it updated. The long awaited update is now available at http://www.agner.org/optimize/.

The manual has become so big that I had to split it into five volumes. It now covers C++, inline assembly and stand-alone assembly. CPU-specific optimization. Vector programming. ABI standards. C++ name mangling schemes. Microarchitecture details. Complete lists of instruction timings, execution unit throughput, micro-operation breakdown, etc. for the latest microprocessors from Intel and AMD.

Covers the following operating systems: DOS, Windows, Linux, BSD, Mac OS X on 16, 32 and 64-bit x86 processors.
Post 06 Jul 2006, 14:20
View user's profile Send private message Visit poster's website Reply with quote
Ivan2k2



Joined: 08 Sep 2004
Posts: 80
Location: Russia, Angarsk
Ivan2k2
Greatest news!!!!!
thanx MazeGen
Post 06 Jul 2006, 15:10
View user's profile Send private message ICQ Number Reply with quote
tom tobias



Joined: 09 Sep 2003
Posts: 1320
Location: usa
tom tobias
Thank you MazeGen, Very Happy you have given us an excellent resource--your link is very much appreciated--I noticed that Agner has ALSO updated his testing procedures:
http://www.agner.org/optimize/#testp
very useful for measuring instruction timings.....
I was, on the other hand slightly disappointed, that Agner found useful, a listing of SOME links to other forums, e.g. Hutch, MASM, etc, but NOT FASM. well, maybe next revision....
Smile
Post 07 Jul 2006, 01:07
View user's profile Send private message Reply with quote
peter



Joined: 09 May 2006
Posts: 63
peter
I've contacted Agner Fog, and this is what he answered:

Quote:
Thanks for the tip. I will mention FASM in the next update of my manuals.


The page http://www.agner.org/assem/ now includes a link to http://flatassembler.net/ (he added it just yesterday).
Post 20 Jul 2006, 03:30
View user's profile Send private message Visit poster's website Reply with quote
tom tobias



Joined: 09 Sep 2003
Posts: 1320
Location: usa
tom tobias
Thanks Peter, for your assistance, much appreciated. Here is another famous site, again with some good links, to NASM, TASM, and MASM, but no mention of FASM.
http://win32asm.cjb.net/
If you know someone who knows Iczelion, perhaps you could persuade him to include FASM in his next revision....
Thanks again....
Post 21 Jul 2006, 15:29
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4633
Location: Argentina
LocoDelAssembly
Quote:

All five manuals
Download all the above manuals together in one zip file.

File name: optimization_manuals.zip, size: 2836324, last modified: 2006-Dec-21.
Post 04 Jan 2007, 03:37
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
Good luck getting hold of Iczelion.

He disappeared several years ago, probably to spend his time on what really matters: real life Smile
Post 04 Jan 2007, 11:26
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17248
Location: In your JS exploiting you and your system
revolution
Thanks for the head up. Here is a direct link:

http://www.agner.org/optimize/optimization_manuals.zip
Post 04 Jan 2007, 11:26
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid
first of all, he would have to add error checking to his "tutorial".
Post 04 Jan 2007, 12:46
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
vid wrote:
first of all, he would have to add error checking to his "tutorial".

Iczelion?

Dunno, really... too much error checking can get in the way and make the intent less clear when it's sample code. Of course such code needs a disclaimer + error checking when used in the real world.

I personally think his tutorials would benefit from some rewriting for several reasons, it does show that they're pretty old.

_________________
Image - carpe noctem
Post 04 Jan 2007, 21:38
View user's profile Send private message Visit poster's website Reply with quote
mattst88



Joined: 12 May 2006
Posts: 260
Location: South Carolina
mattst88
They're updated again as of July 20 2007 Smile
Post 25 Jul 2007, 00:16
View user's profile Send private message Visit poster's website Reply with quote
kohlrak



Joined: 21 Jul 2006
Posts: 1421
Location: Uncle Sam's Pad
kohlrak
I'm getting 404s on his updated links...
Post 25 Jul 2007, 04:53
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger Reply with quote
0.1



Joined: 24 Jul 2007
Posts: 474
Location: India
0.1
How come that the Mr. Agner Fog is so very crazy about optimization.
Either he's just fond of it OR he is making BIG money by this.
Post 25 Jul 2007, 10:39
View user's profile Send private message Reply with quote
Posetf



Joined: 01 Mar 2004
Posts: 35
Location: London
Posetf
0.1 wrote:
How come that the Mr. Agner Fog is so very crazy about optimization.
Either he's just fond of it OR he is making BIG money by this.


I guess I hope the latter.

Anyway, I was just reading (part 3, microarch, p101) and found:
; Example 8.15. uop counts for memory stores
mov array[ecx], eax

After the initial wtf, (I may have completely missed something in the manual) I guess in fasm that is the same as
mov [array+ecx], eax
(and I assume ecx is absolute, ie expressed in bytes)

My question is twofold:
a) am I correct
b) would such a syntax be welcome?

Regards,
Pete
Post 09 Dec 2007, 02:51
View user's profile Send private message Visit poster's website Reply with quote
kohlrak



Joined: 21 Jul 2006
Posts: 1421
Location: Uncle Sam's Pad
kohlrak
a: Looks like it to me.. I remember reading about it, but after using fasm for a while i decided that such a syntax is asking for problems.

b: What do you mean?
Post 09 Dec 2007, 03:08
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 2897
Location: [RSP+8*5]
bitRAKE
"mov array[ecx], eax" is standard MASM syntax, or stuff like "mov [ecx].next, eax" is valid, too. FASM is very strict, but it really does remove any guess work when reading code.

"mov [ecx+SYMBOL.next],eax" isn't so bad and "mov [ecx.next],eax" can be used with an assume macro.
Code:
with ecx,SYMBOL
    mov [ecx.next],eax
end with    
...and of them seem readable to me.

I thought Agner Fog was a teacher or something with a lot of time on his hands? Laughing He is (has been) incorporating the data into his work. I'm just happy he has made it public for others to use.
Post 09 Dec 2007, 09:08
View user's profile Send private message Visit poster's website Reply with quote
Picnic



Joined: 05 May 2007
Posts: 1287
Location: behind the arc
Picnic
I'm reading manual 2 and i find it quite interesting, a lot of informaton and tips, thanks MazeGen.
Post 21 Dec 2007, 23:29
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.

Powered by rwasa.