Вообще, как правило учат си, а потом если есть необходимость - ассемблер. Я бы тебе рекомендовал сначала учить си, а потом прочитать книгу "искусство эксплойта", или сразу начинай с этой книги, она для чайников, и в ней затрагивается и си и ассемблер, и написание вирусов.