Ассемблер преобразует код на языке ассемблера в машинный код, заменяя символические имена и специальные символы соответствующими числами. 1
Процесс перевода языка ассемблера в машинный код называется ассемблированием. 4 Он включает несколько этапов: 1
- Первый проход. 1 Ассемблер просматривает программу строка за строкой. 1 Когда в поле кода операции встречается символическое имя, происходит поиск этого имени в таблице постоянных имён. 1 Устанавливается, является ли это имя кодом операции или директивой ассемблера. 1 Директивы вызывают выполнение соответствующих подпрограмм в программе-ассемблере. 1
- Обработка кодов операций. 1 В таблице постоянных имён каждому символическому коду ставится в соответствие числовой код, а также информация о количестве и типе операндов. 1 Ассемблер помещает числовой код операции в программу в машинном коде, а затем обрабатывает операнды. 1
- Второй проход. 1 Ассемблер просматривает программу на языке ассемблера второй раз и, пользуясь уже сформированными при первом проходе таблицами постоянных имён и имён, определяемых пользователем, подставляет вместо символических имён числа для формирования программы в машинном коде. 1
В процессе ассемблирования каждой строки содержимое счётчика адресов увеличивается на 1, а к программе в машинном коде добавляется один байт информации. 1