Wal-Mart pulls ad, Dick's halts assault rifle sales