[video member=miotatsu stream_platform=twitch project=book title="2.8" vod_platform=youtube id=IlxeMo3Vhlg annotator=Miblo] [0:12][Recap with a reflection on the structure of the previous section, and mentions of Patterson and Hennessy's 2017 Turing Award win, and Serge Lang's Basic Mathematics[ref author="Serge Lang" title="Basic Mathematics" publisher=Springer isbn=9780387967875]][:speech] [6:43][Chapter 2.8 Supporting Procedures in Computer :Hardware[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:isa :language] [7:05][A little digression on programming :language vs :mathematics terminology][:speech] [14:03][Chapter 2.8 continued[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :isa :language] [15:44][Appropriate use of abstraction, and the utility of procedures and [@cmuratori Casey Muratori]'s concept of compression-oriented programming][:language :speech] [21:43][Separating your program into a back end and front end, with recommendations of [~hero Handmade Hero], [~bitwise Bitwise], [~milton Milton] and ~4coder as good examples of this separation][:language :rant :speech] [51:32][Chapter 2.8 continued, on procedures[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :isa :language] [52:42][Calling conventions and control flow][:blackboard :language] [1:13:17][Call stack[ref site="LWN.net" page="Reorganizing the address space" url=https://lwn.net/Articles/91829/]][:blackboard :language :memory :research] [1:24:17][Stack pointer alignment and moving conventions in RISC-V, as performed by hula's Hello, World![ref site=GitLab page="hula / hello.S" url=https://gitlab.com/riscy-business/hula/blob/master/hello.S]][:asm :language :memory] [1:38:28][Chapter 2.8 continued, on RISC-V calling conventions and control flow[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4][ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/][ref site=RISC-V page="User-Level ISA Specification v2.2" url=https://riscv.org/specifications]][:hardware :isa :language] [2:10:18][Wrap it up with the determination to continue 2.8 in the next episode, and a mention of the announcement to drop Gumroad[ref site="Twitter: @hmn_riscy" page="I'm going to be dropping support for gumroad, contact me via email or DM if you want to support me but don't want to use patreon." url=https://twitter.com/hmn_riscy/status/1049223589482913792]][:speech] [/video]