Reddit Reddit reviews Introduction to 64 Bit Assembly Programming for Linux and OS X: For Linux and OS X

We found 5 Reddit comments about Introduction to 64 Bit Assembly Programming for Linux and OS X: For Linux and OS X. Here are the top ones, ranked by their Reddit score.

Computers & Technology
Books
Operating Systems
Linux Operating System
Linux Programming
Introduction to 64 Bit Assembly Programming for Linux and OS X: For Linux and OS X
Check price on Amazon

5 Reddit comments about Introduction to 64 Bit Assembly Programming for Linux and OS X: For Linux and OS X:

u/_dsb_ · 4 pointsr/asm

Apple actively discourages people from avoiding their frameworks and linked libraries; there is a reason things like MUSL and µClibc don't exist on OS X. System calls on OS X do change signature without warning, so what's the point? You can't get at the system without using a dynamically linked standard library or keeping to a very small set of [so far] stable system calls like 'open'. Similar problem as Windows and its ever-present DLLs.

The one area where assembly is nice on Mac is in optimization within a C, Pascal, etc program. Because the ISA is x86-64 nowadays, if you don't care about supporting older PPC or x86 archs, you can have a lot of fun doing SIMD code. More fun than in Linux or even Windows? Not really; it's the same thing effectively (in fact, your code will be portable). If you like the platform for user reasons then it's a fine place to start and there's a decent recent introductory book about x86-64 assembly on OS X (and Linux): https://www.amazon.com/Introduction-Bit-Assembly-Programming-Linux/dp/1484921909/ref=sr_1_1?s=books&ie=UTF8&qid=1498145217&sr=1-1

But writing pure assembly programs in OS X basically has no benefit outside of educational ones compared with mixed C and assembly.

u/CuriousExploit · 3 pointsr/netsecstudents

Suggested in a related thread I was able to learn enough to read and write it better from this book: https://www.amazon.com/Introduction-Bit-Assembly-Programming-Linux/dp/1484921909/

Even better beyond is to write some C and observe what GCC or Clang compiles it into, and see if you can mentally (or actually) map the disassembly back to C.

u/McClane_vs_Gruber · 3 pointsr/learnprogramming

If you're lucky, when your own curiosity brings you there.

I taught myself assembly using this textbook, and a copy of Intel's x86 instruction manual, over the summer after graduating college. Java was the language of choice for the C.S. program at my university. C was used in the OS and some computer graphics classes (others used Java 3D), but everything else was high-level, no memory management, with a virtual machine and garbage collector to wipe my ass and feed me crackers. (Here's a very recently published book.)

In my experience, learning assembly helped me gain a deep understanding of how programming works. With a 1-to-1 (almost always) mapping between a line of assembly and a CPU instruction, I felt like I was directly instructing the computer in a way I never feel using high-level languages. From that, I gained an appreciation of how low-level C programming can be, because you can see immediately how C statements are transformed into assembly. After learning assembly, I deliberately compiled programs into assembler with GCC so I could look at the code, because I could finally understand it.

And then I learned C++, and saw how it could be built directly on top of C.

And now it all makes sense.

u/robot_one · 1 pointr/asm

I used this one to learn x86_64 in a self study during undergrad. It was understandable and clear.

https://www.amazon.com/Introduction-Bit-Assembly-Programming-Linux/dp/1484921909/