Ассемблер -- это машинный код с мнемоникой команд, символическими адресами и макросами. Почти одно и то же.
Под ассемблером понимают разные вещи:
1) Ассемблер (чаще мнемоники машинного код) - система команд конкретной вычислительной машины и описание ее архитектуры.
2) Ассемблера (окончание часто опускают, но это неправильно) - язык программирования.
3) Ассемблер (сборщик) - компилятор язык Ассемблера в машинный код.
В общем ассемблер переводит язык ассемблера в ассемблер, как-то так)))
Машинный код это последовательность единиц и нулей. Все.
Поэтому люди придумали ассемблер, который представляет эти последовательности мнемоникой. Язык ассемблера содержит дальнейшие расширения и макросы, которые должны быть компилируемы опять же в машинный код )).
Нет, это то, что получается после компиляции.