tags:

views:

165

answers:

4

I need to learn assembly using SSE instructions and need gcc to link the ASM code with c code.

I have no idea where to start and google hasn't helped.

+1  A: 

This is a good forum to get started in; it's form MASM, but the people there will be able to help with what you need.

Noon Silk
A: 

Do they have an assembly for dummies book? Not being sarcastic, those usually give good step by step intros using simple examples.

Zak
+3  A: 

You might want to start looking through the chip documentation from intel Intel Processor Software Developer Manuals. Assembly language coding isn't a whole lot of fun, and it's usually unneccessary except in few cases where code is performance critical.

Given you are looking at SSE, I would hazard that your effort may be better spent looking into CUDA, using your graphics card to perform vector computations via custom shaders. That way you don't have to learn ASM, and if you are doing serious number crunching it could be significantly faster if you have good parallelisation.

Spence
It depends on the case, Quite often, in image analysis, the upload and download to/from the videocard is slower than the on x86 calculation itself. A good case for CUDA is for e.g. codecs that upload in compressed format, do relatively heavy calculation, and the resulting image-stream never has to travel back to mainmem again but goes to video-out.
Marco van de Voort
Good ol test and measure... Without knowing the application I was simply letting him know that there is more than one way to skin a cat. I would have thought though that a PCIx 16 bus would have some serious throughput on the memory bus though. I know that the Tesla supercomputer nodes were designed with this in mind, 64 lane PCI express system with 4 cuda processors on the system.
Spence
A: 

If you have a lot of time, i recommend you The Art of Assembly Language, a classic self-learning book from Randall Hyde. It uses an ASM-like language to teach you how to do some assembly. Maybe for already trained professionals it sounds like a waste of time but it's pretty good to start learning.

Manuel Abeledo