Opals oust Tall Ferns for place in Asia Cup semi-finals