code: def _free_sequence(tmp1, tmp2=False):
      ''' Outputs a FREEMEM sequence for 1 or 2 ops
      '''
      if not tmp1 and not tmp2:
          return []
  
      output = []
      if tmp1 and tmp2:
          output.append('pop de')
          output.append('ex (sp), hl')
          output.append('push de')
          output.append('call __MEM_FREE')
          output.append('pop hl')
          output.append('call __MEM_FREE')
      else:
          output.append('ex (sp), hl')
          output.append('call __MEM_FREE')
  
      output.append('pop hl')
      REQUIRES.add('alloc.asm')
      return outpuf _free_sequence(tmp1, tmp2=False):
      ''' Outputs a FREEMEM sequence for 1 or 2 ops
      '''
      if not tmp1 and not tmp2:
          return []
  
      output = []
      if tmp1 and tmp2:
          output.append('pop de')
          output.append('ex (sp), hl')
          output.append('push de')
          output.append('call __MEM_FREE')
          output.append('pop hl')
          output.append('call __MEM_FREE')
      else:
          output.append('ex (sp), hl')
          output.append('call __MEM_FREE')
  
      output.append('pop hl')
      REQUIRES.add('alloc.asm')
      return output
docs: Outputs a FREEMEM sequence for 1 or 2 ops