RISC-V ALE Exercise Book
Introduction
1.
Getting Started
1.1.
Code Generation Tools
1.2.
Automating the compilation process with Makefiles
2.
Getting Started with the Simulator
2.1.
Running the Hello World program
2.2.
Using the Assistant to check a Simple Symbol Calculator program
2.3.
Debugging a program
3.
Data Representation on Modern Computers
3.1.
Number Base Conversion in C
4.
Assembly, object and executable files
4.1.
Organization of an ELF file
5.
Bit Manipulation and Instruction Encoding
5.1.
Bit Masking and Shift Operations
5.2.
RISC-V Instruction Encoding
6.
Assembly User-level Programming
6.1.
Square Root
6.2.
GPS
6.3.
Hamming Code
6.4.
Image on Canvas
6.5.
Applying a Filter to an Image
6.6.
Custom Search on a Linked List
6.7.
ABI-compliant Linked List Custom Search
6.8.
ABI-compliant Recursive Binary Tree Search
7.
Assembly System-level Programming
7.1.
Accessing Peripherals - Controlling the Car
7.2.
Accessing Peripherals - Using Serial Port
7.3.
External Interrupts - MIDI Player
7.4.
Software Interrupts - Controlling the Car
8.
Complementary Short Exercises
8.1.
ABI Compliance
8.2.
Data Organization on the Memory
9.
Final Projects
9.1.
Driving Through the City
10.
Appendix
10.1.
ALE Peripherals MMIO Manual
Light
Rust
Coal
Navy
Ayu
RISC-V ALE Exercise Book v1.3.2
Complementary Short Exercises
This chapter contains complementary short exercises for topics explored in previous chapters.