Source: https://cs.iupui.edu/~xzou/teaching/csci30000/Assemblers.pdf