Pointer-Register hast du 3 Stück, X, Y und Z. Wenn die alle belegt sind, musst du eines davon auf dem Stack sichern oder in einem freien Register und danach wieder herstellen.