code: def _store8(ins):
      
      output = _8bit_oper(ins.quad[2])
  
      op = ins.quad[1]
  
      indirect = op[0] == '*'
      if indirect:
          op = op[1:]
  
      immediate = op[0] == '#'
      if immediate:
          op = op[1:]
  
      if is_int(op) or op[0] == '_':
          if is_int(op):
              op = str(int(op) & 0xFFFF)
  
          if immediate:
              if indirect:
                  output.append('ld (%s), a' % op)
              else:  # ???
                  output.append('ld (%s), a' % op)
          elif indirect:
              output.append('ld hl, (%s)' % op)
              output.append('ld (hl), a')
          else:
              output.append('ld (%s), a' % op)
      else:
          if immediate:
              if indirect:  # A label not starting with _
                  output.append('ld hl, (%s)' % op)
                  output.append('ld (hl), a')
              else:
                  output.append('ld (%s), a' % op)
              return output
          else:
              output.append('pop hl')
  
          if indirect:
              output.append('ld e, (hl)')
              output.append('inc hl')
              output.append('ld d, (hl)')
              output.append('ld (de), a')
          else:
              output.append('ld (hl), a')
  
      return output
docs: Stores 2nd operand content into address of 1st operand.
      store8 a, x =>  a = x
      Use '*' for indirect store on 1st operand.