Files
EMARS/help/MIPSInstructionSetSong.html
T
adolphenom 0da1c5dcca Source code of MARS Assembler
First commit of the 4.5 version (latest version available)
2014-12-21 12:49:28 +01:00

133 lines
4.0 KiB
HTML

<HTML><HEAD><TITLE>The MIPS Instruction Set</TITLE></HEAD>
<BODY>
<font face="arial" size=+2>
<b>The MIPS Instruction Set</b>
</font>
<font face="arial">
<P>Written by Walter Chang </P>
</font>
<font face="arial" size=-1>Used by permission of the author. Copyright notice below.
<P><i>Correct pronunciation is critical to get the cadence and beat to line
up; see the Pronunciation
Guide at the end of this document for how you should pronounce the various
assembler instructions.</i> </P>
<P>To the tune of: <i>The Major-General's Song</i>, from
<b>Pirates of Penzance</b><BR>Inspired by Tom Lehrer's <i>The Elements</i> </P>
</font>
<br>
<font face="Arial">
<P>There's div and nor and mult and or and sllv sra<BR>
There's xor and swl and beq and sll and bgezal jumps today<BR>
And multu, srav, and j combined with lhu and lui<BR>
And also slt and bne and instruction mthi<BR>
There's sh and sb and lbu and blez and jal and then sltu<BR>
And of course there's and and add and srl and sub and things to do<BR>
With the MIPS instructions I am very nimble on my feet<BR>
And though I sing assembler but I am really not a geek<BR>
<BR>
There's addu, ori, slti, swr, and bgez and jalr too<BR>
And loads of other fun instructions that were put in just for you<BR>
The MIPS instruction set is very simple to be memorized<BR>
Which will come in handy when you have your code to optimize! </P>
<P>There's addi, divu, lh, rfe, and syscall, jr, mfcz<BR>
And mfc1, nop, and break, and bltzal with bczt<BR>
And srlv, xori, bltz, and lb, lwl, and addiu<BR>
andi, subu, lwr, and lwcz, mtcz, sltiu<BR>
There's bczf, bgtz to branch if it's greater than<BR>
And mflo and sw, these instructions are not any also-rans<BR>
There's mtlo and swcz too, although I don't know what they're for<BR>
And lw - that's obviously load word from mem bytes there are four<BR>
<BR>
And now my song is through and I know all of my words by the heart<BR>
Which will come in handy when we have our projects multi-part<BR>
I live and breathe the MIPS instruction set on every night and day<BR>
Because the MIPS assembler will always try and work my way! </P>
</font>
<br><br>
<font face="arial" size=+1>
<b>Pronunciation Guide</b>
</font>
<font face="arial">
<P>note: assembler is 4 syllables: ass-em-bell-er </P>
<P>The pronunciations suitable for this song are as follows: </P>
<UL>
<LI>div: div
<LI>nor: nor
<LI>mult: mult
<LI>or: or
<LI>sllv: s-l-l-v
<LI>sra: s-r-a
<LI>xor: zor
<LI>swl: swill
<LI>beq: beck
<LI>sll: sill
<LI>bgezal: beh-geezal
<LI>multu: mult-you
<LI>srav: srav (one syllable)
<LI>j: jay
<LI>lhu: l-h-u
<LI>lui: l-u-i
<LI>slt: slit
<LI>bne: b-n-e
<LI>mthi: m-t-high
<LI>sh: shih
<LI>sb: sib
<LI>lbu: l-b-u
<LI>blez: blez
<LI>jal: jal
<LI>sltu: slit-u
<LI>and: and
<LI>add: add
<LI>srl: srill
<LI>sub: sub
<LI>addu: add-u
<LI>ori: or-i
<LI>slti: slitty
<LI>swr: swir
<LI>bgez: beh-gez
<LI>jalr: jal-er
<LI>addi: addy
<LI>divu: div-u
<LI>lh: l-h
<LI>rfe: reef
<LI>syscall: sis-call
<LI>jr: junior
<LI>mfcz: miff-c-z
<LI>mfc1: m-f-c-one
<LI>nop: nopp
<LI>break: break
<LI>bltzal: blitz-al
<LI>bczt: b-c-z-t
<LI>srlv: s-r-l-v
<LI>xori: zorri
<LI>bltz: blitz
<LI>lb: l-b
<LI>lwl: lwill
<LI>addiu: addy-you
<LI>andi: andy
<LI>subu: sub-u
<LI>lwr: lwer
<LI>lwcz: lwiscz
<LI>mtcz: m-t-c-z
<LI>sltiu: slitty-u
<LI>bzcf: b-z-c-f
<LI>bgtz: b-g-t-z
<LI>mflo: em-flow
<LI>sw: swee
<LI>mtlo: m-t-low
<LI>swcz: swizzy
<LI>lw: lwee </LI></UL>
<P>
<a href="http://www.cs.utexas.edu/users/walter/cs-songbook/instruction_set.html">
http://www.cs.utexas.edu/users/walter/cs-songbook/instruction_set.html</a>
</P>
Copyright Walter Chang. Permission granted for noncommercial use
as long as attribution is maintained. walter@cs.utexas.edu
</font>
</BODY>
</HTML>