registerinput.html

来自「MIPS Simulator assembly languge.」· HTML 代码 · 共 499 行 · 第 1/2 页

HTML
499
字号
  }

  function writeStyles() {
    top.RegisterDisplay.document.open();
    top.RegisterDisplay.document.write("<head>");
    top.RegisterDisplay.document.write("<LINK HREF='pathsim.css' REL='stylesheet' type='text/css'>");
    top.RegisterDisplay.document.write("</head><body>");
    top.RegisterDisplay.document.write("<div class='boxHead'>Registers</div>");
  }
  
  function numberOrder(a, b) {return a-b;}

  function showRegisters21(read1Index, read2Index, writeIndex) {
    writeStyles();

    var indices = new Array(3);
    indices[0]  = read1Index;
    indices[1]  = read2Index;
    indices[2]  = writeIndex;
    indices.sort(numberOrder);
    top.RegisterDisplay.document.write("<div class ='code'>");
    for (var i=0; i<indices[0]; i++) {
       top.RegisterDisplay.document.write(unsignedToDecimalString(i, 2) + ":" + this.registerValues[i] + "<br>");
    }
    top.RegisterDisplay.document.write("</div>");

    if (indices[0] == writeIndex)
       top.RegisterDisplay.document.write("<div class='writeSelected'>");
    else
       top.RegisterDisplay.document.write("<div class='readSelected'>");
    top.RegisterDisplay.document.write(unsignedToDecimalString(indices[0], 2) + ":" + this.registerValues[indices[0]] + "<br>");
    top.RegisterDisplay.document.write("</div>");

    top.RegisterDisplay.document.write("<div class ='code'>");
    for (var i=indices[0]+1; i<indices[1]; i++) {
       top.RegisterDisplay.document.write(unsignedToDecimalString(i, 2) + ":" + this.registerValues[i] + "<br>");
    }
    top.RegisterDisplay.document.write("</div>");

    if (indices[1] == writeIndex)
       top.RegisterDisplay.document.write("<div class='writeSelected'>");
    else
       top.RegisterDisplay.document.write("<div class='readSelected'>");
    top.RegisterDisplay.document.write(unsignedToDecimalString(indices[1], 2) + ":" + this.registerValues[indices[1]] + "<br>");
    top.RegisterDisplay.document.write("</div>");

    top.RegisterDisplay.document.write("<div class ='code'>");
    for (var i=indices[1]+1; i<indices[2]; i++) {
       top.RegisterDisplay.document.write(unsignedToDecimalString(i, 2) + ":" + this.registerValues[i] + "<br>");
    }
    top.RegisterDisplay.document.write("</div>");

     if (indices[2] == writeIndex)
       top.RegisterDisplay.document.write("<div class='writeSelected'>");
    else
       top.RegisterDisplay.document.write("<div class='readSelected'>");
    top.RegisterDisplay.document.write(unsignedToDecimalString(indices[2], 2) + ":" + this.registerValues[indices[2]] + "<br>");
    top.RegisterDisplay.document.write("</div>");

    top.RegisterDisplay.document.write("<div class ='code'>");
    for (var i=indices[2]+1; i<this.numberOfRegisters; i++) {
       top.RegisterDisplay.document.write(unsignedToDecimalString(i, 2) + ":" + this.registerValues[i] + "<br>");
    }
    top.RegisterDisplay.document.write("</div></body");
    top.RegisterDisplay.document.close();
  }

  function showRegisters11(readIndex, writeIndex) {
    writeStyles();

    var indices = new Array(2);
    indices[0] = readIndex;
    indices[1] = writeIndex;
    indices.sort(numberOrder);

    top.RegisterDisplay.document.write("<div class ='code'>");
    for (var i=0; i<indices[0]; i++) {
       top.RegisterDisplay.document.write(unsignedToDecimalString(i, 2) + ":" + this.registerValues[i] + "<br>");
    }
    top.RegisterDisplay.document.write("</div>");

    if (indices[0] == writeIndex)
       top.RegisterDisplay.document.write("<div class='writeSelected'>");
    else
       top.RegisterDisplay.document.write("<div class='readSelected'>");
    top.RegisterDisplay.document.write(unsignedToDecimalString(indices[0], 2) + ":" + this.registerValues[indices[0]] + "<br>");
    top.RegisterDisplay.document.write("</div>");

    top.RegisterDisplay.document.write("<div class ='code'>");
    for (var i=indices[0]+1; i<indices[1]; i++) {
       top.RegisterDisplay.document.write(unsignedToDecimalString(i, 2) + ":" + this.registerValues[i] + "<br>");
    }
    top.RegisterDisplay.document.write("</div>");

    if (indices[1] == writeIndex)
       top.RegisterDisplay.document.write("<div class='writeSelected'>");
    else
       top.RegisterDisplay.document.write("<div class='readSelected'>");
    top.RegisterDisplay.document.write(unsignedToDecimalString(indices[1], 2) + ":" + this.registerValues[indices[1]] + "<br>");
    top.RegisterDisplay.document.write("</div>");

    top.RegisterDisplay.document.write("<div class ='code'>");
    for (var i=indices[1]+1; i<this.numberOfRegisters; i++) {
       top.RegisterDisplay.document.write(unsignedToDecimalString(i, 2) + ":" + this.registerValues[i] + "<br>");
    }
    top.RegisterDisplay.document.write("</div></body>");
    top.RegisterDisplay.document.close();
  }

  function showRegisters01(writeIndex) {
    writeStyles();

    top.RegisterDisplay.document.write("<div class ='code'>");
    for (var i=0; i<writeIndex; i++) {
       top.RegisterDisplay.document.write(unsignedToDecimalString(i, 2) + ":" + this.registerValues[i] + "<br>");
    }
    top.RegisterDisplay.document.write("</div>");

    top.RegisterDisplay.document.write("<div class ='writeSelected'>");
    top.RegisterDisplay.document.write(unsignedToDecimalString(writeIndex, 2) + ":" + this.registerValues[writeIndex] + "<br>");
    top.RegisterDisplay.document.write("</div>");

    top.RegisterDisplay.document.write("<div class ='code'>");
    for (var i=writeIndex+1; i<this.numberOfRegisters; i++) {
       top.RegisterDisplay.document.write(unsignedToDecimalString(i, 2) + ":" + this.registerValues[i] + "<br>");
    }
    top.RegisterDisplay.document.write("</div></body>");
    top.RegisterDisplay.document.close();
  }

  function showRegisters20(smallerIndex, largerIndex) {
    writeStyles();

    top.RegisterDisplay.document.write("<div class ='code'>");
    for (var i=0; i<smallerIndex; i++) {
       top.RegisterDisplay.document.write(unsignedToDecimalString(i, 2) + ":" + this.registerValues[i] + "<br>");
    }
    top.RegisterDisplay.document.write("</div>");

    top.RegisterDisplay.document.write("<div class ='readSelected'>");
    top.RegisterDisplay.document.write(unsignedToDecimalString(smallerIndex, 2) + ":" + this.registerValues[smallerIndex] + "<br>");
    top.RegisterDisplay.document.write("</div>");

    top.RegisterDisplay.document.write("<div class ='code'>");
    for (var i=smallerIndex+1; i<largerIndex; i++) {
       top.RegisterDisplay.document.write(unsignedToDecimalString(i, 2) + ":" + this.registerValues[i] + "<br>");
    }
    top.RegisterDisplay.document.write("</div>");

    top.RegisterDisplay.document.write("<div class ='readSelected'>");
    top.RegisterDisplay.document.write(unsignedToDecimalString(largerIndex, 2) + ":" + this.registerValues[largerIndex] + "<br>");
    top.RegisterDisplay.document.write("</div>");

    top.RegisterDisplay.document.write("<div class ='code'>");
    for (var i=largerIndex+1; i<this.numberOfRegisters; i++) {
       top.RegisterDisplay.document.write(unsignedToDecimalString(i, 2) + ":" + this.registerValues[i] + "<br>");
    }
    top.RegisterDisplay.document.write("</div></body>");
    top.RegisterDisplay.document.close();
  } 

  function showRegisters10(readIndex) {
    writeStyles();

    top.RegisterDisplay.document.write("<div class ='code'>");
    for (var i=0; i<readIndex; i++) {
       top.RegisterDisplay.document.write(unsignedToDecimalString(i, 2) + ":" + this.registerValues[i] + "<br>");
    }
    top.RegisterDisplay.document.write("</div>");

    top.RegisterDisplay.document.write("<div class ='readSelected'>");
    top.RegisterDisplay.document.write(unsignedToDecimalString(readIndex, 2) + ":" + this.registerValues[readIndex] + "<br>");
    top.RegisterDisplay.document.write("</div>");

    top.RegisterDisplay.document.write("<div class ='code'>");
    for (var i=readIndex+1; i<this.numberOfRegisters; i++) {
       top.RegisterDisplay.document.write(unsignedToDecimalString(i, 2) + ":" + this.registerValues[i] + "<br>");
    }
    top.RegisterDisplay.document.write("</div></body>");
    top.RegisterDisplay.document.close();
  }

  function showRegisters00() {
    writeStyles();

    top.RegisterDisplay.document.write("<div class ='code'>");
    for (var i=0; i<this.numberOfRegisters; i++)
       top.RegisterDisplay.document.write(unsignedToDecimalString(i, 2) + ":" + this.registerValues[i] + "<br>");

    top.RegisterDisplay.document.write("</div></body>");
    top.RegisterDisplay.document.close();
  }

  function defineHandlers()  {
    var registerArea  = document.registers.elements[0];
    var loadButton    = document.registers.elements[1];
    var zeroButton    = document.registers.elements[2];

    loadButton.onclick  = function() {registerList.load(registerArea.value);}
    zeroButton.onclick  = function() {registerList.zeroRegisters();  document.registers.elements[0].value = "";
						  registerList.showRegisters00();}
  }

  function RegisterList() {
    this.numberOfRegisters = 32;
    this.registerValues    = new Array(this.numberOfRegisters);
    this.lastLoaded        = new Array(this.numberOfRegisters);

    this.load              = load;
    this.reLoad            = listReload;
    this.zeroRegisters     = zeroRegisters;
    this.showRegisters00   = showRegisters00;
    this.showRegisters10   = showRegisters10;
    this.showRegisters20   = showRegisters20;
    this.showRegisters01   = showRegisters01;
    this.showRegisters11   = showRegisters11;
    this.showRegisters21   = showRegisters21;
    this.setRegister       = setRegister;
  }

</script>
</head>
<body>
<form name="registers">
<table>
<tr>
<td><div class="boxHead">Register Input</div></td>
</tr>
<tr>
<td><textarea name="RegisterValues" align="left" rows="18" cols="13"></textarea></td>
</tr>
<tr>
<td>
<input type="button" name="load" value="Load" align="left" >
<input type="button" name="zero" value="Zero">
</td>
</tr>
</table>
</form>

<script>
  var registerList = new RegisterList();
  defineHandlers();
  registerList.zeroRegisters();
  registerList.showRegisters00();
</script>

</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?