#677 in Computers & technology books

Reddit mentions of Modern X86 Assembly Language Programming: 32-bit, 64-bit, SSE, and AVX

Sentiment score: 4
Reddit mentions: 5

We found 5 Reddit mentions of Modern X86 Assembly Language Programming: 32-bit, 64-bit, SSE, and AVX. Here are the top ones.

Modern X86 Assembly Language Programming: 32-bit, 64-bit, SSE, and AVX
Buying options
View on Amazon.com
or
    Features:
  • Apress
Specs:
Height9.02 Inches
Length5.98 Inches
Number of items1
Release dateNovember 2014
Weight21.92938120114 Pounds
Width1.58 Inches

idea-bulb Interested in what Redditors like? Check out our Shuffle feature

Shuffle: random products popular on Reddit

Found 5 comments on Modern X86 Assembly Language Programming: 32-bit, 64-bit, SSE, and AVX:

u/Confettimaker · 11 pointsr/learnprogramming

If you want the manual, you can check this out. Amazon has some decent books on it as well. I personally like this one.

u/OmegaNaughtEquals1 · 2 pointsr/cpp_questions

I definitely encourage you to explore the fascinating world of SIMD programming, and I completely understand this is a "hello world" SIMD program. That said, I caution against doing manual vectorization of loop like this because the optimizer^1 is better at it than you or I will ever be. For example, here you have assumed that the length of the input is a multiple of the vector size. If it's not, then you have to add postamble code around the loop to handle the extra elements. Alignment is even trickier- usually requiring a preamble, as well. You've also left performance on the table because you didn't unroll the loop. I've found that compilers (at least gcc and clang) tend to be more reluctant to unroll loops with intrinsics in them, so manual unrolling is pretty much necessary.

If you are really interested in assembly coding, I recommend Kusswurm's book even though all of the examples are in MASM^2. There are several YouTube channels that do assembly programming. One of my favorites is What's a Creel mostly because he's a funny guy.

***
[1] You are using the optimizer, aren't you?

[2] That's fine if you are on Windows, but I'm not.

u/rbtEngrDude · 2 pointsr/programming

Pick up any book on x86 assembler. You cannot program assembler without understanding the underlying system architecture, and as such most books on assembly language will include a deep dive on x86 architecture from the programmers perspective.

Assembly Language Step by Step by Jeff Duntemann: https://www.amazon.com/Assembly-Language-Step-Step-Programming/dp/0470497025

This is one of my favorites, the first assembly book I was able to make it all the way through. Once you do, I also highly recommend

Modern x86 Assembly Language Programming by Daniel Kusswurm: https://www.amazon.com/Modern-X86-Assembly-Language-Programming/dp/1484200659

A very thorough, yet surprisingly readable, dive into thw inner workings of thw advanced x86 feature sets, like MMX and AVX.

u/Truth_Be_Told · 1 pointr/learnprogramming

The Computer Systems: A Programmer's perspective is a very good book (the only book of which i have all 3 editions!). You can easily get the cheap South Asian editions and save money.

u/dmazzoni · 1 pointr/learnprogramming

What do you know already? Assembly language is not a good place to start if you've never programmed before. Learn a language like Java or Python first, then learn C really, really well, then graduate to Assembly.

C in particular is the closest to Assembly language. Every other programming language abstracts things too much so you don't really know what's going on. Programming in C forces you to understand how the computer really works and it's a critical stepping stone to learning Assembly.

x86-64 assembly is not the easiest but it's the most widely used so you may as well learn on that.

A book like Modern X86 Assembly Language Programming should be fine, but it is NOT a book for beginners. It makes sense if you already know C but want to start doing more with Assembly language.

Reverse engineering only makes sense once you know how to actually write a lot of code yourself. You can't reverse engineer if you can't engineer, because it's all about getting your head inside the programmer and figuring out what they're trying to do with their code. You can't do that if you've never written code yourself.

Pentesting is different. A lot of that can be done without any Assembly programming, by understanding networking and common higher-level vulnerabilities.