1
Assembly - Embedded / Assembly, a hidden art? (Beginners Guidance)
« on: February 24, 2016, 01:50:02 am »
Sup everyone I just thought I could share my opinions on Assembly. In modern times, computers tend to derail from the hackers' friend 32 Bit Intel assembly. However, when I began learning Assembly I did it because I had an idea of what one could do with such skill besides make code that can otherwise be written in C/C++. But fret not, if you are a computer engineer you could program the logic of a chip using assembly given the amount of time and effort you devote to such a project. In fact, one can even grab a Raspberry Pi and practice programming the architecture of a Quadcom Processor that can likewise be found in modern cellphones that use Android. In my opinion assembly is becoming more and more hardware based, and if you're tech savy, you can do some pretty nasty stuff with it.
The reason I made this post is to present a brief guide on where to start learning since I had some trouble myself trying to get into the matter. If you feel like learning assembly, I recommend starting out with MIPS (Millions of Instructions Per Second) with Quasar Distant,
https://www.youtube.com/watch?v=u5Foo6mmW0I&list=PL5b07qlmA3P6zUdDf-o97ddfpvPFuNa5A
who presents a very nice 32 Bit assembly language thats probably not used anymore, and after you're satisfied, you can get started with other architectures. The key to all of this is to realize the kind of processor you're working with , like if you're going to try and work with intel processors, and you have a 64 bit computer I highly recommend grabbing a copy of Ray Seyfarth's book on the subject, it's really great I am currently using it myself:
http://rayseyfarth.com/
For the Broadcom processor architecture you might want to grab a Raspberry Pi and a copy of Bruce Smith's Raspberry Pi assembly:
http://www.amazon.com/Raspberry-Assembly-Language-RASPBIAN-Beginners/dp/1492135283
For the good old x86 - 32 bit intel assembly, you might want to grab a copy of Assembly Language step by step 3rd edition:
http://www.amazon.com/Assembly-Language-Step---Step-Programming/dp/0470497025/ref=sr_1_1?s=books&ie=UTF8&qid=1456274751&sr=1-1&keywords=assembly
Although the textbook is extremely lengthy and thick, and you wont really write any code until like chapter 7, if you stick through it, you can master 32 bit easy peasy. With that being said I wish whoever decides to join the assembly coding community a happy coding exprience, good luck!~
The reason I made this post is to present a brief guide on where to start learning since I had some trouble myself trying to get into the matter. If you feel like learning assembly, I recommend starting out with MIPS (Millions of Instructions Per Second) with Quasar Distant,
https://www.youtube.com/watch?v=u5Foo6mmW0I&list=PL5b07qlmA3P6zUdDf-o97ddfpvPFuNa5A
who presents a very nice 32 Bit assembly language thats probably not used anymore, and after you're satisfied, you can get started with other architectures. The key to all of this is to realize the kind of processor you're working with , like if you're going to try and work with intel processors, and you have a 64 bit computer I highly recommend grabbing a copy of Ray Seyfarth's book on the subject, it's really great I am currently using it myself:
http://rayseyfarth.com/
For the Broadcom processor architecture you might want to grab a Raspberry Pi and a copy of Bruce Smith's Raspberry Pi assembly:
http://www.amazon.com/Raspberry-Assembly-Language-RASPBIAN-Beginners/dp/1492135283
For the good old x86 - 32 bit intel assembly, you might want to grab a copy of Assembly Language step by step 3rd edition:
http://www.amazon.com/Assembly-Language-Step---Step-Programming/dp/0470497025/ref=sr_1_1?s=books&ie=UTF8&qid=1456274751&sr=1-1&keywords=assembly
Although the textbook is extremely lengthy and thick, and you wont really write any code until like chapter 7, if you stick through it, you can master 32 bit easy peasy. With that being said I wish whoever decides to join the assembly coding community a happy coding exprience, good luck!~