title: Does mips have 32 bit addresses AND 32 bit instructions?
body: <p>I know that 32-bit MIPS instruction and memory registers are... well 32 bits... and that the PC calculates the address for that instruction in the instruction register.</p>
  
  <p>My question is this: Are the 32-bit address appended to a 32-bit instruction?</p>
  
  <p>Ignoring the fact that these are all zeros...</p>
  
  <p>Is 0x00000000 (address) concatenated with 0x00000000 (instruction)?</p>
  
  <p>For example, R-Type is</p>
  
  <pre><code>OP(6) RS(5) RT(5) RD(5) SHIFTAMMT(5) FUNCT(6) 
  =&gt; 32 bit instruction
  =&gt; 000000_00000_00000_00000_00000_000000
  </code></pre>
  
  <p>where the address for the above is 
  000000_00000_00000_00000_00000_000000</p>
  
  <p>Are the two 32-bit numbers concatenated together so that PC spits out 32 bits which correspond to the upper half of a <em>64-bit</em> value?  I often see tables that have</p>
  
  <pre><code>Address     Instruction
  0x00000000  0x00000000
  </code></pre>
  
  <p>Any help would be appreciated.</p>