Thank you for replying, would you also happen to know if boolean algebra is a crucial part to learning assembly?
Depends on the type of applications. There is a definite advantage when working with PLC's or Distributive Controls Systems. To be an effective programmer you must know the processor your working with first, then the language of your choice whether it be NASM, YASM, FASM, GAS, MASM etc, and then the platform be it Windows, DOS, Linux, Unix, OSX. Then you will utilize formal skills that are application specific like algebra, trigonometry, calculus and so forth.