· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› Процесс ассемблирования

Посл.отвђт Сообщенiе


Дата: Дек 25, 2003 20:04:17

Не до конца понимаю процесс ассемблирования кода.
В нете ничего толкового не нашел, может кто чего скажет умное или скажет чего прочесть?


Дата: Дек 25, 2003 20:32:00

теорию компиляторов.


Дата: Дек 25, 2003 20:36:03

В нете ничего толкового не нашел

Если ты имеешь в виду процесс работы синтаксического анализатора, то ты не умеешь искать в сети.
Ключевые слова: lex, yacc, byzon
Из книг - самая лучшая - это книга Ульмана - Книга Дракона :)
Потом есть еще одна по теории С++ компилеров...


Дата: Дек 25, 2003 21:18:45

volodya
Книга Дракона - библия компиляторов, но про ассемблирование там мало написано, да и практических данных там просто нет - одна сухая теория и ссылки на другие источники.

EvilsInterrupt
Тем не менее, книгу стоит почитать, даже несколько раз!


Дата: Дек 25, 2003 21:26:47

Ребята спасибо обязон гляну и не один раз. Но я имел такого рода вопрос: код преобразуется в машинный код. смещения проставляются или нет? Что случается во время первого прохода, второго и так до m5, если я правильно понимаю?


Дата: Дек 25, 2003 22:13:30

В masm есть ключ /Fl и директива .listall. Создается листинг, там кое-что можно посмотреть.
Еще есть FASM, он совсем OpenSource.


Дата: Дек 26, 2003 13:13:27

> Но я имел такого рода вопрос: код преобразуется в
> машинный код. смещения проставляются или нет? Что
> случается во время первого прохода, второго и так до
> m5, если я правильно понимаю?

Смещения компилятор не проставляет - это делает линкер.
А несколько проходов нужно для оптимизации jump'ов - при первом проходе компилятор не знает куда будет сделан прыжок (например код на который ссылается еще не скомпилирован), поэтому все прыжки делаются длинными (near) а в последующих проходах компилер где можно заменяет их на короткие (short), ну и так крутится пока не надоест =)


Дата: Дек 26, 2003 14:54:53

Dr.Golova
и не только принимают от меня искреннюю благодарность!!!


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.040