{"product_id":"learn-to-program-with-assembly-9781484274361","title":"Learn to Program with Assembly","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cdiv\u003eMany programmers have limited effectiveness because they don''t have a deep understanding of how their computer actually works under the hood.  In Learn to Program with Assembly, you will learn to program in assembly language - the language of the computer itself. \u003c\/div\u003e\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\u003cdiv\u003eAssembly language is often thought of as a difficult and arcane subject.  However, author Jonathan Bartlett presents the material in a way that works just as well for first-time programmers as for long-time professionals.  Whether this is your first programming book ever or you are a professional wanting to deepen your understanding of the computer you are working with, this book is for you.  The book teaches 64-bit x86 assembly language running on the Linux operating system.  However, even if you are not running Linux, a provided Docker image will allow you to use a Mac or Windows computer as well.\u003c\/div\u003e\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\u003cdiv\u003eThe book starts with extremely simple prog\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003eChapter 1: IntroductionChapter 2: The Truth About ComputersPart I: Assembly Language BasicsChapter 3: Your First ProgramChapter 4: Registers and Simple ArithmeticChapter 5: Comparison, Branching and LoopingChapter 6: Working with Data in MemoryChapter 7: Data RecordsChapter 8: Signed Numbers and Bitwise OperationsChapter 9: More Instructions You Should KnowPart II: Operating System BasicsChapter 10: Making System CallsChapter 11: The Stack and Function CallsChapter 12: Calling Functions from LibrariesChapter 13: Common and Useful Assembler DirectivesChapter 14: Dynamic Memory AllocationChapter 15: Dynamic LinkingPart III: Programming Language TopicsChapter 16: Basic Language Features Represented in Assembly LanguageChapter 17: Tracking Memory AllocationsChapter 18: Object-Oriented ProgrammingChapter 19: Conclusion and AcknowlegmentsPart IV: AppendicesAppendix A: Getting Set Up with DockerAppendix B: The Command LineAppendix C: Debugging with GDBAppendix D: Nasm (Intel) Assembly Language SyntaxAppendix E: Common x86-64 InstructionsAppendix F: Floating Point NumbersAppendix G: The Starting State of the StackAppendix H: ASCII, Unicode, and UTF-8Appendix I: OptimizationAppendix J: A Simplified Garbage CollectorAppendix K: Going to an Even Lower Level\u003cbr\u003e\n\u003c\/div\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48739666821463,"sku":"9781484274361","price":999.99,"currency_code":"GBP","in_stock":false}],"url":"https:\/\/bookcurl.com\/products\/learn-to-program-with-assembly-9781484274361","provider":"Book Curl","version":"1.0","type":"link"}