[30:32][A few words on using the temporary "a" registers, and the possible :performance ramifications of being tight with register usage][:speech]
[32:31][Enable main to reuse the a1 register][:asm]
[34:28][Fix main to correctly break out of the print loop][:asm]
[36:48][Read through hello.S to check it all looks correct][:asm :research]
[40:08][Fix _start to correctly pop the loaded word off the stack][:asm]
[40:31][Finish reading through hello.S and consider it all good][:asm :research]
[41:15][Assemble our program to see :assembly errors]
[42:13][Remove comment and fix :assembly errors]
[42:42][Assemble our program to see errors on bez and beq][:asm]
[44:27][Grab the RISC-V Reader[ref
title="RISC-V Reader"
author="David Patterson and Andrew Waterman"
publisher="Strawberry Canyon"
isbn=9780999249116
url=http://www.riscvbook.com/]][:admin]
[45:24][Rename bez to beqz, and fix our beq calls, in conjunction with the RISC-V Reader[ref
title="RISC-V Reader"
author="David Patterson and Andrew Waterman"
publisher="Strawberry Canyon"
isbn=9780999249116
url=http://www.riscvbook.com/]][:asm]
[46:48][Consult the RISC-V Reader[ref
title="RISC-V Reader"
author="David Patterson and Andrew Waterman"
publisher="Strawberry Canyon"
isbn=9780999249116
url=http://www.riscvbook.com/] for information on loading into the frame pointer][:asm :research]
[51:12][Try to make _start load 0 into s0 rather than fp][:asm]
[51:55][Assemble it to see that this fixed that error][:asm]
[52:44][Stick .section in front of .rodata as per the RISC-V Reader[ref
title="RISC-V Reader"
author="David Patterson and Andrew Waterman"
publisher="Strawberry Canyon"
isbn=9780999249116
url=http://www.riscvbook.com/]][:asm]
[53:08][Assemble it successfully][:asm]
[54:07][Link our program with ld][:asm]
[54:20][:Run it to see that it works][:asm]
[54:41][Inspect our binary][:research]
[56:00][On writing this program as an example of code that hula should compile to][:asm :language :speech]
[56:18][Streamline the return code loads in main][:asm]
[1:00:37][Prevent _start from zeroing out the frame pointer][:asm]
[1:02:23][Assemble and link it][:asm]
[1:02:36][:Run it to see that it still works][:asm]
[1:02:45][Consider the episode done, with a glimpse into the future booting Fedora directly, hand-writing the machine code for our "Hello, World!" and covering compressed instructions][:asm :speech]
[1:07:32][Thoughts on avoiding :security vulnerabilities by owning the entire chain of production][:fabrication :hardware :speech]
[1:12:57][Further thoughts on the elegance of FORTH and its suitability for bootstrapping][:asm :speech]
[1:15:50][Glimpse into the future designing a custom case, streaming from our RISC-V system and building a Linux distribution for it][:speech]