code: def _and32(ins):
      
      op1, op2 = tuple(ins.quad[2:])
  
      if _int_ops(op1, op2):
          op1, op2 = _int_ops(op1, op2)
  
          if op2 == 0:  # X and False = False
              if str(op1)[0] == 't':  # a temporary term (stack)
                  output = _32bit_oper(op1)  # Remove op1 from the stack
              else:
                  output = []
              output.append('xor a')
              output.append('push af')
              return output
  
              # For X and TRUE = X we do nothing as we have to convert it to boolean
              # which is a rather expensive instruction
  
      output = _32bit_oper(op1, op2)
      output.append('call __AND32')
      output.append('push af')
      REQUIRES.add('and32.asm')
      return output
docs: Compares & pops top 2 operands out of the stack, and checks
          if the 1st operand AND (Logical) 2nd operand (top of the stack).
          Pushes 0 if False, 1 if True.
  
          32 bit un/signed version