Right, that's what I mean by pointer arithmetic -- specialized instruction for calculating memory addresses. It seems it can be co-opted to do math and other calculations as well. But at least that was its intended use?
Also Zen of Assembly mentions that LEA can store its result in any register and doesn't alter flags.