How To Program Assembly Language, Part 2
?
?
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus
Keyboard Navigation
Global Keys
[, < / ], > Jump to previous / next episodeW, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)
Menu toggling
q Quotes r References f Filter y Link c CreditsIn-Menu Movement
a
w
s
s
d
h
j
k
l
←
↑
↓
↓
→
Quotes and References Menus
Enter Jump to timecodeQuotes, References and Credits Menus
o Open URL (in new tab)Filter Menu
x, Space Toggle category and focus nextX, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus
Filter and Link Menus
z Toggle filter / linking modeCredits Menu
Enter Open URL (in new tab)⏫
Previous: 'How To Program Assembly Language'
⏫
0:08Recap and set the stage for the day
0:08Recap and set the stage for the day
0:08Recap and set the stage for the day
1:41Continuation on the lack of a carry flag in RISC-V and MIPS, and how the RISC-V Instruction Set Manual suggests doing unsigned overflow checking1
1:41Continuation on the lack of a carry flag in RISC-V and MIPS, and how the RISC-V Instruction Set Manual suggests doing unsigned overflow checking1
1:41Continuation on the lack of a carry flag in RISC-V and MIPS, and how the RISC-V Instruction Set Manual suggests doing unsigned overflow checking1
7:36Larger-than-word sized (64-bit) multiplication in RISC-V2
7:36Larger-than-word sized (64-bit) multiplication in RISC-V2
7:36Larger-than-word sized (64-bit) multiplication in RISC-V2
14:3964-bit comparisons in terms of 32-bit comparisons
14:3964-bit comparisons in terms of 32-bit comparisons
14:3964-bit comparisons in terms of 32-bit comparisons
17:42Larger-than-word division in RISC-V, briefly3
17:42Larger-than-word division in RISC-V, briefly3
17:42Larger-than-word division in RISC-V, briefly3
20:37Lowering array indexing implemented via pointer arithmetic, from C to assembly
20:37Lowering array indexing implemented via pointer arithmetic, from C to assembly
20:37Lowering array indexing implemented via pointer arithmetic, from C to assembly
27:18Naively lowering pointer subtraction from C to assembly4
27:18Naively lowering pointer subtraction from C to assembly4
27:18Naively lowering pointer subtraction from C to assembly4
34:48Inspect the debug-built assembly of pointer subtraction
🏃
34:48Inspect the debug-built assembly of pointer subtraction
🏃
34:48Inspect the debug-built assembly of pointer subtraction
🏃
36:56Inspect the release-built assembly of pointer subtraction
🏃
36:56Inspect the release-built assembly of pointer subtraction
🏃
36:56Inspect the release-built assembly of pointer subtraction
🏃
41:17Structs and unions in C
41:17Structs and unions in C
41:17Structs and unions in C
44:18Lowering a variable-initialisation-from-struct-field from C to assembly
44:18Lowering a variable-initialisation-from-struct-field from C to assembly
44:18Lowering a variable-initialisation-from-struct-field from C to assembly
52:33Loading / storing multiple fields by exploiting the load / store addressing modes with immediate offsets
52:33Loading / storing multiple fields by exploiting the load / store addressing modes with immediate offsets
52:33Loading / storing multiple fields by exploiting the load / store addressing modes with immediate offsets
58:19Knowing the ABI's size and alignment conventions when calculating offsets and sizes for structs
58:19Knowing the ABI's size and alignment conventions when calculating offsets and sizes for structs
58:19Knowing the ABI's size and alignment conventions when calculating offsets and sizes for structs
1:01:33Unions, handling overlapping offsets
1:01:33Unions, handling overlapping offsets
1:01:33Unions, handling overlapping offsets
1:05:01Structured control flow
1:05:01Structured control flow
1:05:01Structured control flow
1:09:07Recommend Knuth's 'Structured programming with go to statements'5
🖮
📖
1:09:07Recommend Knuth's 'Structured programming with go to statements'5
🖮
📖
1:09:07Recommend Knuth's 'Structured programming with go to statements'5
🖮
📖
1:14:52Structured if (without else)
1:14:52Structured if (without else)
1:14:52Structured if (without else)
1:17:24Structured if-else
1:17:24Structured if-else
1:17:24Structured if-else
1:20:10Generating more concise assembly for nested if within else scopes
1:20:10Generating more concise assembly for nested if within else scopes
1:20:10Generating more concise assembly for nested if within else scopes
1:21:33Structured do-while in C
1:21:33Structured do-while in C
1:21:33Structured do-while in C
1:25:39Formulating while loops as an extension of do-while
1:25:39Formulating while loops as an extension of do-while
1:25:39Formulating while loops as an extension of do-while
1:30:00Lowering a while loop from C to assembly
1:30:00Lowering a while loop from C to assembly
1:30:00Lowering a while loop from C to assembly
1:34:23Lowering a boolean comparison, making effective use of RISC-V's fused compare-and-branch instructions
1:34:23Lowering a boolean comparison, making effective use of RISC-V's fused compare-and-branch instructions
1:34:23Lowering a boolean comparison, making effective use of RISC-V's fused compare-and-branch instructions
1:41:35Structured short-circuiting "and" and "or"
1:41:35Structured short-circuiting "and" and "or"
1:41:35Structured short-circuiting "and" and "or"
1:49:00Glimpse into the future covering functions and handling more local variables than fit in registers
1:49:00Glimpse into the future covering functions and handling more local variables than fit in registers
1:49:00Glimpse into the future covering functions and handling more local variables than fit in registers
1:50:11Q&A
1:50:11Q&A
1:50:11Q&A
1:57:52That might be it for today, with a glimpse into the future doing hardware design
1:57:52That might be it for today, with a glimpse into the future doing hardware design
1:57:52That might be it for today, with a glimpse into the future doing hardware design
⏬
Next: 'How To Program Assembly, Part 3'
⏬