Как написать язык программирования?
Развёрнутый ответ займет многобуков, поэтому кратко...
Языки бывают двух типов: компилируемые и интерпретируемые.

 Сложность создания первых заключается в трансляции высокоуровневый абстракции в низкоуровневый код (+управление памятью и прочие сложные вещи). Самый простой подход - придумать свой синтаксис, который переводить в какой-нибудь C++ или C#, а затем использовать стандартные средства языка для компиляции. 

Но я рекомендую вам сделать интерпретируемый язык (с постставкой Script). В таком случаем вы можете просто последовательно обрабатывать команды типа if cmd='add' then return a+b

А если вы не хотите разбираться во всем этом, то лучше использовать генератор парсеров/компиляторов. Затем написать на своём языке компилятор своего языка (bootstrapping), чтобы получить независимый компилятор.

P. S. 
Ваш вопрос  про ассемблер не понятен. Вы хотите написать парсер и компилятор на ассемблер или же хотите, транслировать ваш язык в ассемблер? Или интерпретатор на ассемблере? Чем ниже уровень, тем больше вариантов.
https://tproger.ru/books/compiler-design-books/
Начните вот отсюда