Play some games to practice your skills!
- MIPS instructions - common instructions and what they do.
- MIPS cookbook - micro-tutorials on how to do common things in MIPS.
- MIPS mini-exercises - prompts to write very short pieces of code and answers, for practice!
- MIPS ⬄ C correspondences - you write asm by pretending to be a compiler. These are the rules.
Right-click and save the links.
Safari users: stop using Safari. No but really, it will change the extension of the files when you save them, for some reason.
|4_variables.asm||Shows how variables have values and addresses.|
|5_arrays.asm||How to make, index, and loop over 1-D arrays.|
|print_str_macro.asm||A small macro to print strings more easily.|
|lab3_solution.asm||Solution to the debugging lab.|
|constant_gates.circ||Constants going into gates are pointless! Simplify!|
|splitter_tricks.circ||Using splitters more effectively.|
|splitter_bitfields.circ||Using splitters to take apart/put together bitfields.|
|tunnel_tutorial.circ||Why you should use tunnels. THEY'RE GOOD OKAY|
|full_adder.circ||A 1-bit full adder made of gates.|
|mult_fast_4x4.circ||A fast (combinational) 4x4 multiplier.|
|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.|
|fan_controller.circ||A simple FSM for controlling a ceiling fan.|
|fan_controller_2.circ||An even simpler version of the previous circuit.|
|reg_file.circ||The (tiny) register file I made in class.|
|decoding.circ||Some examples of decoding an instruction.|