Как работают языки ассемблера?

Мне очень любопытно, как работают языки ассемблера - я остаюсь общим, потому что я говорю не только о сборке Intel x86 (хотя это единственная, с которой я хотя бы отдаленно знаком с участием). Чтобы быть немного более ясным ...

mov %eax,%ebx

Как компьютер узнает, что делает инструкция типа "mov"? Как он узнает, что eax и ebx являются регистрами? Пишут ли люди грамматики для языков ассемблера? Как они это пишут? Я полагаю, ничто не мешает кому-то написать язык ассемблера, который заменяет инструкцию mov чем-то вроде dog или horse и т. Д. (Очевидно, что это не семантика) вообще)

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

Мысли?

РЕДАКТИРОВАТЬ: Я понимаю, что этот материал описан в справочных руководствах и прочем. Я думаю, что я хочу знать, как вы говорите своему процессору: «Хорошо, когда вы увидите mov , вы сделаете это». Я также знаю, что это последовательность, вероятно, тонны логических вентилей ... но должен быть какой-то способ, чтобы процессор распознал, что mov - это символ, который означает "использовать эти логические вентили"

13
задан LainIwakura 24 June 2011 в 18:29
поделиться