File indexing completed on 2024-05-12 04:02:06

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>highlight.asm-mips</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (MIPS Assembler) - Theme (Breeze Dark)"/>
0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre>
0007 <span style="color:#7a7c7d"># A demonstration of some simple MIPS instructions</span>
0008 <span style="color:#7a7c7d"># used to test QtSPIM</span>
0009 
0010     <span style="color:#7a7c7d"># Declare main as a global function</span>
0011     <span style="color:#2980b9">.globl</span> main 
0012 
0013     <span style="color:#7a7c7d"># All program code is placed after the</span>
0014     <span style="color:#7a7c7d"># .text assembler directive</span>
0015     <span style="font-weight:bold">.text</span>         
0016 
0017 <span style="color:#7a7c7d"># The label 'main' represents the starting point</span>
0018 <span style="color:#27ae60">main:</span>
0019     <span style="color:#8e44ad">li</span> <span style="color:#0000ff">$t2</span>, <span style="color:#f67400">25</span>     <span style="color:#7a7c7d"># Load immediate value (25) </span>
0020     <span style="font-weight:bold">lw</span> <span style="color:#0000ff">$t3</span>, value      <span style="color:#7a7c7d"># Load the word stored in value (see bottom)</span>
0021     <span style="font-weight:bold">add</span> <span style="color:#0000ff">$t4</span>, <span style="color:#0000ff">$t2</span>, <span style="color:#0000ff">$t3</span>    <span style="color:#7a7c7d"># Add</span>
0022     <span style="font-weight:bold">sub</span> <span style="color:#0000ff">$t5</span>, <span style="color:#0000ff">$t2</span>, <span style="color:#0000ff">$t3</span>    <span style="color:#7a7c7d"># Subtract</span>
0023     <span style="font-weight:bold">sw</span> <span style="color:#0000ff">$t5</span>, Z      <span style="color:#7a7c7d">#Store the answer in Z (declared at the bottom)  </span>
0024 
0025     <span style="color:#7a7c7d"># Exit the program by means of a syscall.</span>
0026     <span style="color:#7a7c7d"># There are many syscalls - pick the desired one</span>
0027     <span style="color:#7a7c7d"># by placing its code in $v0. The code for exit is "10"</span>
0028     <span style="color:#8e44ad">li</span> <span style="color:#2980b9">$v0</span>, <span style="color:#f67400">10</span> <span style="color:#7a7c7d"># Sets $v0 to "10" to select exit syscall</span>
0029     <span style="font-weight:bold">syscall</span> <span style="color:#7a7c7d"># Exit</span>
0030 
0031     <span style="color:#7a7c7d"># All memory structures are placed after the</span>
0032     <span style="color:#7a7c7d"># .data assembler directive</span>
0033     <span style="font-weight:bold">.data</span>
0034 
0035     <span style="color:#7a7c7d"># The .word assembler directive reserves space</span>
0036     <span style="color:#7a7c7d"># in memory for a single 4-byte word (or multiple 4-byte words)</span>
0037     <span style="color:#7a7c7d"># and assigns that memory location an initial value</span>
0038     <span style="color:#7a7c7d"># (or a comma separated list of initial values)</span>
0039 <span style="color:#27ae60">value:</span>   <span style="color:#2980b9">.word</span> <span style="color:#f67400">12</span>
0040 <span style="color:#27ae60">Z:</span>   <span style="color:#2980b9">.word</span> <span style="color:#f67400">0</span>
0041 </pre></body></html>