Source: http://www.cs.columbia.edu/~sedwards/classes/2013/4840/reports/6502-presentation.pdf