- Powers of Two - a browser game to practice them
- MIPS mini-exercises - prompts to write very short pieces of code, with answers
- MIPS style guide - how to write asm that doesn’t look terrible.
- MIPS instructions - common instructions and what they do.
- MIPS cookbook - micro-tutorials on how to do common things in MIPS.
- MIPS ⬄ C correspondences - you write asm by pretending to be a compiler. These are the rules.
Lecture Recordings (hosted on YouTube)
You can speed up the video playback… listening to myself at 1x speed is agonizing lmao
- Lecture 1 - Introduction
- Lecture 2 - Programs, Instructions, and Registers
- Lecture 3 - Memory and Addresses
- Lecture 4 - Control Flow
- Lecture 5 - Arrays
- Lecture 6 - Functions
- Lecture 7 - The Stack and Saved Registers
- Lecture 8 - Numerical Representation
- Lecture 9 - (Signed Integers and) Bitwise Operations
- Lecture 10 - Bitfields and Fixed-point math
- Lecture 11 - Floats, Addition, and Overflow
- Lecture 12 - Multiplication and Division
- Exam 1 Review
- Lecture 13 - CPU Intro
- Lecture 14 - Gates and Wires
Right-click and save to download the asm and circuit files.
Safari users: Safari sometimes changes file extensions. Do not trust it.
|goto in C||C has goto. Here's a dumb way to write a for loop. Looks a lot like asm...|
|01_variables.asm||Declaring and accessing variables.|
|02_arrays.asm||Different ways to declare arrays, and using a for loop to modify one.|
|Bitwise.java||Shows several bitwise operators and oddities.|
|Bitfields.java||Using shifting, masking, and ORing to encode colors.|
|Bitflags.java||Bitflags are a special case of bitfields. They're like a set or array of booleans.|
|constant_gates.circ||Constants going into gates are pointless! Simplify!|
|tunnel_tutorial.circ||Why you should use tunnels. THEY'RE GOOD OKAY|
|splitter_tricks.circ||Using splitters more effectively.|
|splitter_bitfields.circ||Using splitters to take apart/put together bitfields.|
|full_adder.circ||A 1-bit full adder made of gates.|
|fast_mult_4x4.circ||A fast (combinational) 4x4 multiplier.|