double arrow

Многопроходный ассемблер


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


Сейчас читают про: