Source: https://www.csie.ntu.edu.tw/~pjcheng/course/asm2008/asm_asmbler.pdf