code: def _varx(ins):
      
      output = []
      output.append('%s:' % ins.quad[1])
      q = eval(ins.quad[3])
  
      if ins.quad[2] in ('i8', 'u8'):
          size = 'B'
      elif ins.quad[2] in ('i16', 'u16'):
          size = 'W'
      elif ins.quad[2] in ('i32', 'u32'):
          size = 'W'
          z = list()
          for expr in q:
              z.extend(['(%s) & 0xFFFF' % expr, '(%s) >> 16' % expr])
          q = z
      else:
          raise InvalidIC(ins.quad, 'Unimplemented vard size: %s' % ins.quad[2])
  
      for x in q:
          output.append('DEF%s %s' % (size, x))
  
      return output
docs: Defines a memory space with a default CONSTANT expression
      1st parameter is the var name
      2nd parameter is the type-size (u8 or i8 for byte, u16 or i16 for word, etc)
      3rd parameter is the list of expressions. All of them will be converted to the
          type required.