Source: https://cs.wellesley.edu/~cs240/f20/slides/x86-control.pdf