Chapter 1: Getting StartedA Bit of HistoryTools you NeedARM Assembly InstructionsThe GCC AssemblerA Very Small Example Chapter 2: My First Working Program Add Two Numbers Print the ResultMakeRun the ProgramDebug the ProgramChapter 3: Basic Arithmetic Memory and Registers Loading and Saving RegistersAddition and SubtractionMultiplication and DivisionChapter 4: Controlling Program Flow Conditional Statements LoopsChapter 5: Debugging with GDB Examining Memory and Registers Single SteppingSetting Breakpoints Chapter 6: Linux Operating System Services Overview Calling ConventionExamplesChapter 7: Programming the GPIO Pins Introduction Using the Linux DriverUsing Mapped MemoryChapter 8: Interacting with C and Python Calling C Functions Calling Assembly from CEmbedding Assembly in CCalling C/Assembly from PythonChapter 9: Floating Point Operations Write Assembler to perform floating point calculations Division Data Formats Chapter 10: The Neon Coprocessor Explain Single Instruction Multiple Data (SIMD) programming Examples from AI and graphics Speed up your program. SIMD OpCodesMatrix ExampleGraphics ExampleChapter 11: Disassembling and Reverse Engineering GCC GDBGhidraChapter 12: Writing to the Screen and Reading the Keyboard The Keyboard Screen BuffersGraphics AlgorithmsChapter 13: 64-Bits Appendix A: The ARM Instruction Set Appendix B: Linux Operating System ServicesAppendix C: Binary Formats of Data TypesAppendix D: Assembler Directives.
Raspberry Pi Assembly Language Programming : ARM Processor Coding