Web based MIPS assembler and emulator

index.html 5.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
  8. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
  9. <!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> -->
  10. <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet">
  11. <link rel="stylesheet" href="index.css">
  12. <title>MIPS.js</title>
  13. <link href='https://fonts.googleapis.com/css?family=Work+Sans' rel='stylesheet' type='text/css'>
  14. <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
  15. <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
  16. <!--[if lt IE 9]>
  17. <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  18. <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  19. <![endif]-->
  20. </head>
  21. <body>
  22. <div class="container">
  23. <div class="row">
  24. <h1>MIPS.js <small>See MIPS run, really!</small></h1>
  25. <hr />
  26. </div>
  27. <div class="row">
  28. <div class="col-md-4">
  29. <p>
  30. <span class="buttons">
  31. <button class="btn btn-primary">Assemble</button>
  32. <button class="btn btn-success">Run</button>
  33. <button class="btn btn-warning">Step</button>
  34. </span>
  35. </p>
  36. </div>
  37. </div>
  38. <div class="row">
  39. <div class="col-md-4">
  40. <textarea placeholder="Try some assembly here..." class="form-control" id="code"></textarea>
  41. </div>
  42. <div class="row">
  43. <div class="col-md-2">
  44. <canvas id="display"></canvas>
  45. <hr />
  46. <p class="text-center">PC: 0xbfc0 0000</p>
  47. </div>
  48. <div class="col-md-3">
  49. <table class="table table-condensed table-responsive">
  50. <thead>
  51. <tr><th>GPR</th><th>Value</th><th>GPR</th><th>Value</th></tr>
  52. </thead>
  53. <tbody>
  54. <tr><th class="zero active">zero</th><td class="zero active">0x0000 0000</td><th class="s0">$s0</th><td class="s0">0x0000 0000</td></tr>
  55. <tr><th class="at">$at</th><td class="at">0x0000 0000<th class="s1">$s1</th><td class="s1">0x0000 0000</td></td></tr>
  56. <tr><th class="v0">$v0</th><td class="v0">0x0000 0000<th class="s2">$s2</th><td class="s2">0x0000 0000</td></td></tr>
  57. <tr><th class="v1">$v1</th><td class="v1">0x0000 0000<th class="s3">$s3</th><td class="s3">0x0000 0000</td></td></tr>
  58. <tr><th class="a0">$a0</th><td class="a0">0x0000 0000<th class="s4">$s4</th><td class="s4">0x0000 0000</td></td></tr>
  59. <tr><th class="a1">$a1</th><td class="a1">0x0000 0000<th class="s5">$s5</th><td class="s5">0x0000 0000</td></td></tr>
  60. <tr><th class="a2">$a2</th><td class="a2">0x0000 0000<th class="s6">$s6</th><td class="s6">0x0000 0000</td></td></tr>
  61. <tr><th class="a3">$a3</th><td class="a3">0x0000 0000<th class="s7">$s7</th><td class="s7">0x0000 0000</td></td></tr>
  62. <tr><th class="t0">$t0</th><td class="t0">0x0000 0000<th class="t8">$t8</th><td class="t8">0x0000 0000</td></td></tr>
  63. <tr><th class="t1">$t1</th><td class="t1">0x0000 0000<th class="t9">$t9</th><td class="t9">0x0000 0000</td></td></tr>
  64. <tr><th class="t2">$t2</th><td class="t2">0x0000 0000<th class="k0">$k0</th><td class="k0">0x0000 0000</td></td></tr>
  65. <tr><th class="t3">$t3</th><td class="t3">0x0000 0000<th class="k1">$k1</th><td class="k1">0x0000 0000</td></td></tr>
  66. <tr><th class="t4">$t4</th><td class="t4">0x0000 0000<th class="gp">$gp</th><td class="gp">0x0000 0000</td></td></tr>
  67. <tr><th class="t5">$t5</th><td class="t5">0x0000 0000<th class="sp">$sp</th><td class="sp">0x0000 0000</td></td></tr>
  68. <tr><th class="t6">$t6</th><td class="t6">0x0000 0000<th class="s8">$s8</th><td class="s8">0x0000 0000</td></td></tr>
  69. <tr><th class="t7">$t7</th><td class="t7">0x0000 0000<th class="ra">$ra</th><td class="ra">0x0000 0000</td></td></tr>
  70. </tbody>
  71. </table>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  77. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
  78. <script src="index.js"></script>
  79. </body>
  80. </html>