Добавление опции -L
(например, gcc -L -ahl
) может обеспечить несколько более понятные списки.
Эквивалентный параметр MSVC - /FAcs
(и он немного лучше, поскольку включает в себя источник, машинный язык и двоичный файл и содержит некоторые полезные комментарии).
Около трети моей работы состоит в том, чтобы делать то, что вы делаете: жонглировать кодом на C, а затем смотреть на вывод сборки, чтобы убедиться, что он оптимизирован правильно (что предпочтительнее, чем просто писать встроенную сборку везде). ).
Блоги и статьи по разработке игр могут быть хорошим ресурсом для этой темы, поскольку игры являются приложениями реального времени в постоянной памяти - У меня есть некоторые заметки , так же как и Майк Актон и другие. Обычно мне нравится держать ссылку на набор инструкций Intel в окне при просмотре списков.
Самое полезное - сначала получить хорошее представление о программировании на ассемблере - не потому, что вы хотите писать код на ассемблере, а потому, что это делает чтение дизассемблирования намного проще. Мне было трудно найти хороший современный учебник.