¿Cómo funcionan los lenguajes ensambladores?

Tengo mucha curiosidad por cómo funcionan los lenguajes de ensamblaje: sigo siendo general porque no estoy hablando solo del ensamblaje Intel x86 (aunque es el único con el que estoy remotamente familiarizado). Para ser un poco más claro ...

mov %eax,%ebx

¿Cómo sabe la computadora lo que hace una instrucción como "mov"? ¿Cómo sabe que eax y ebx son registros? ¿La gente escribe gramáticas para lenguajes ensambladores? ¿Cómo escriben esto? Me imagino que nada impide que alguien escriba un lenguaje ensamblador que sustituya elmov instrucción con algo comodog ohorse etc., (obviamente esto no es semántico en absoluto)

Lo siento si esto no está muy claro, pero es algo que encuentro un poco desconcertante. Sé que no puede ser mágico, pero no puedo ver cómo funciona. He buscado algunas cosas en Wikipedia, pero todo lo que parece decir es que se traduce al código de la máquina, bueno, lo que pregunto es cómo se produce esa traducción, supongo.

¿Pensamientos?

EDIT: me doy cuenta de que estas cosas están definidas en manuales de referencia y cosas, supongo que lo que quiero saber es cómo le dices a tu procesador "Ok, cuando veasmov vas a hacer esto ". También sé que es una secuencia de probablemente una tonelada de puertas lógicas ... pero tiene que haber alguna forma de que el procesador reconozca quemov es el símbolo que significa "usar estas puertas lógicas"

Respuestas a la pregunta(5)

Su respuesta a la pregunta