Source: https://public.asimov.net/documentation/programming/65816_gs/programming-the-65816-chap-19.pdf