code: def emit_var_assign(self, var, t):
          
          p = '*' if var.byref else ''  # Indirection prefix
          if self.O_LEVEL > 1 and not var.accessed:
              return
  
          if not var.type_.is_basic:
              raise NotImplementedError()
  
          if var.scope == SCOPE.global_:
              self.emit('store' + self.TSUFFIX(var.type_), var.mangled, t)
          elif var.scope == SCOPE.parameter:
              self.emit('pstore' + self.TSUFFIX(var.type_), p + str(var.offset), t)
          elif var.scope == SCOPE.local:
              if var.alias is not None and var.alias.class_ == CLASS.array:
                  var.offset -= 1 + 2 * var.alias.count
              self.emit('pstore' + self.TSUFFIX(var.type_), p + str(-var.offset), t)
docs: Emits code for storing a value into a variable
          :param var: variable (node) to be updated
          :param t: the value to emmit (e.g. a _label, a const, a tN...)