code: def _divf16(ins):
      
      op1, op2 = tuple(ins.quad[2:])
  
      if is_float(op2):
          if float(op2) == 1:
              output = _f16_oper(op1)
              output.append('push de')
              output.append('push hl')
              return output
  
          if float(op2) == -1:
              return _negf(ins)
  
      rev = not is_float(op1) and op1[0] != 't' and op2[0] == 't'
  
      output = _f16_oper(op1, op2, reversed=rev)
      output.append('call __DIVF16')
      output.append('push de')
      output.append('push hl')
      REQUIRES.add('divf16.asm')
      return output
docs: Divides 2 32bit (16.16) fixed point numbers. The result is pushed onto the stack.
  
          Optimizations:
  
           * If 2nd operand is 1, do nothing
           * If 2nd operand is -1, do NEG32