- 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.
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.|
|key_test.asm||Test for key combinations in the display plugin.|
|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.|
|alu.circ||The (simple) ALU I made in class.|
|RS_latch.circ||An RS latch made of NOR gates.|
|Circuit.js RS Latch||Circuit.js can simulate it at a lower level, so you can see the current and voltages.|
|D_latch.circ||A D latch made from an RS latch.|
|D_flipflop.circ||A D flip-flop made from 2 D latches.|
|register_4bit.circ||A 4-bit register made from D flip-flops.|
|simple_counter.circ||A register paired with an adder can count up each clock tick.|
|slow_mult_4x4.circ||An FSM that multiplies numbers using the slow (sequential) method.|
|fan_controller.circ||A simple FSM for controlling a ceiling fan.|
|reg_file.circ||The (tiny) register file I made in class.|