References: Your First Assembly Function: Registers and Loops
-
Assembly language - Wikipedia - Overview of assembly language as a human-readable stand-in for machine code, covering mnemonics, assemblers, and the register-based programming model this chapter introduces from zero.
-
Thumb (instruction set) - Wikipedia - Explains ARM's compact 16/32-bit Thumb encoding used by every Cortex-M core, directly matching the chapter's claim that all Cortex-M33 instructions are Thumb instructions.
-
Processor register - Wikipedia - Describes CPU registers as fast on-chip storage, background for the chapter's introduction of the Cortex-M33's thirteen general-purpose registers r0-r12.
-
The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors (3rd Edition) - Joseph Yiu - Newnes/Elsevier - The standard, most widely cited clear explanation of Cortex-M registers, Thumb instruction mnemonics, and the argument/return-value register convention this chapter builds its first routine on.
-
Computer Organization and Design ARM Edition - David A. Patterson and John L. Hennessy - Morgan Kaufmann - Known for exceptionally clear, worked-example pedagogy on register allocation and calling conventions, the exact skill this chapter frames as "deciding what goes where" in
sum_to_n. -
Arm Cortex-M33 Devices Generic User Guide: The Cortex-M33 Instruction Set - Arm Developer - Official Arm reference listing every Cortex-M33 Thumb instruction, including MOV, ADD, CMP, and the conditional branches this chapter's loop example is built from.
-
ARM Data Types and Registers (Part 2) - Azeria Labs - Tutorial covering the general-purpose register file r0-r15 and the CPSR status flags, reinforcing this chapter's explanation of how CMP sets flags that BNE later reads.
-
Inline assembler - MicroPython Documentation - Official tutorial on the
@micropython.asm_thumbdecorator, argument passing through r0-r3, and writing labeled branch loops, the exact mechanism this chapter'ssum_to_nexample uses. -
Procedure Call Standard for the Arm Architecture (AAPCS32) - Arm Software (GitHub) - The official specification defining how r0-r3 pass arguments and how r0 returns a result, the formal basis for this chapter's argument-passing and return-value-register convention.
-
Arm Cortex-M33 Processor Technical Reference Manual: Processor core registers summary - Arm Developer - Authoritative summary of r0-r12, sp, lr, and pc on the exact processor this course targets, supporting the chapter's register-allocation discussion.