title: Strange MIPS address behaviour
body: <p>im a newbie in MIPS and still scratching some basic commands, currently i bumped into a very strange situation, where i have 2 identical code but one runs, and the other doesnt.</p>
  
  <p>This is the code that throw an exception when running at line <code>sw $v0, input</code>:</p>
  
  <pre><code>.data
  
  Text_output1: .asciiz "Input number 1: "
  input: .word
  
  .text
  main:
  li $v0, 4
  la $a0, Text_output1
  syscall
  
  li $v0, 5
  syscall
  
  sw $v0, input
  li $v0, 1
  lw $a0, input
  add $a0, $a0, 1
  syscall
  </code></pre>
  
  <p>This is the normal functioning one:</p>
  
  <pre><code># Program: Hello, World!
  .data
  
  # data declaration section; specifies values to be stored
  # in memory and labels whereby the values are accessed
  
  Greeting: .asciiz "\nghfhgfhgf\n"
  Text_output1: .asciiz "Number 1 : "
  input: .word
  
  .text # Start of code section
  main: # Execution begins at label "main"
  li $v0, 4 #in ra number 1 :
  la $a0, Text_output1
  syscall
  
  li $v0, 5
  syscall
  
  sw $v0, input
  li $v0, 1
  lw $a0, input
  add $a0, $a0, 1
  syscall
  </code></pre>
  
  <p>I cannot see any difference between the twos, or is there something i dont know about this language?</p>
  
  <p>Btw im using MARS 4.5 with JDK 13. Thank you so much.</p>