есть какие-то книги, но я бы предложил учить так: выбрать задачу/приложение, небольшое, интересное вам, у которого открытый исходный код. и портировать его на ассемблер. и добавить всякие фишки. как именно портировать -- гуглением, вопросами на форумах по конкретно тем подчазадачам, которые надо реализовать. так и придет понимание.