Подтвердить что ты не робот

Где узнать сборку x64?

Хорошо, поэтому я знаю С++, С#, Java и некоторые другие языки, и я решил изучить сборку, но я чувствую, что с самого начала я ударил сплошную кирпичную стену. Мне просто нужно, чтобы кто-то указал мне в правильном направлении.

Вот вопросы:

  • Мне сказали, что лучше научиться сборке из Интернета, чем из книг, потому что сборка зависит от вашего оборудования, а книги в основном устарели. Это правда?

  • У меня 64-битный процессор, и я использую (или, по крайней мере, пытаюсь использовать) FASM. Где я могу найти необходимую документацию?

  • Я полностью смущен, потому что большинство учебных пособий, которые я видел, даже не работают для меня. Это из-за различий в оборудовании? Как найти правильные учебные пособия?

  • Могу ли я запустить сборку x86 и x32 на моем 64-битном компьютере?

  • Не могли бы вы быть добрыми и написать мне простую программу в сборке (которая работает на моем ПК) с разбивкой на комментарии? Я использую 64-битную Windows 10 на моем процессоре Intel i5. Пожалуйста.

4b9b3361

Ответ 1

Я думаю, что это правильный вопрос. Может быть немного сложно найти последнюю информацию об ассемблере.

  • Да. Много ресурсов, напечатанных и онлайн, описывают ассемблер i386 (x86), а не новый amd64 (x86_64). Многие вещи изменились, например. аргументы функции, которые были переданы в стек, но теперь они передаются в регистры. Это относится как к Unix, так и к Windows.

    В принципе, убедитесь, что вы читаете о 64-битной сборке.

  • Почему бы не попробовать онлайн-руководство . Обратите внимание, что ассемблеры не такие разные, когда дело доходит до простых вещей.

  • У меня нет Windows, но если у вас проблемы с какой-либо конкретной программой, вы можете узнать об этом здесь. Вам нужно будет опубликовать фактическую провальную программу.

  • Да, но вам нужно связать его с 32-битными библиотеками и использовать 32-разрядную версию Win32 API. Но если вы начинаете, зачем программировать в 1980 году, когда вы можете работать с современным набором команд?

  • Попробуйте этот.

Также, если вы собираетесь программировать в сборке, я настоятельно рекомендую вам получить отладчик. Я использую GDB, который работает хорошо и бесплатно, в Windows вы можете использовать превосходный отладчик Visual Studio.