Интернет магазин китайских планшетных компьютеров



Компьютеры - Fasm - Препроцессирование

27 апреля 2011


Оглавление:
1. Fasm
2. Препроцессирование
3. Формат записи инструкций
4. Формат выходных файлов
5. Поддержка fasm в сторонних программных продуктах



На стадии препроцессора раскрываются все макросы, символические константы, обрабатываются директивы препроцессора.

В отличие от стадии ассемблирования, препроцессирование выполняется только 1 раз. Смешивание стадий ассемблирования и препроцессирования — распространённая ошибка начинающих.

Ассемблирование

На стадии ассемблирования определяются адреса меток, обрабатываются условные директивы, раскрываются циклы и генерируется собственно программа. Fasm — многопроходной ассемблер, что позволяет ему делать некоторую оптимизацию, например, генерирование короткого перехода на метку вместо длинного. Во время прохода компилятор не всегда может вычислить выражение в условных директивах. В этом случае он делает какой-нибудь выбор и пытается скомпилировать дальше. Благодаря тому, что адреса меток, вычисленные на N-ном проходе, используются на N+1-проходе, этот процесс обычно сходится.



Просмотров: 6995


<<< DataObjects.Net
GoAsm >>>