Size: a a a

2020 July 19

DP

Denis Paukaev in supapro.cxx
Александр Караев
Твой ответ никак не коррелирует с вопросом, на мой взгляд
мой ответ в 99% случаев отвечает на вопрос "почему мой exe не работает у друга"
источник

o

osm1um in supapro.cxx
Vlad Serebrennikov
они реализуют один и тот же набор инструкций, если в общем
Тобеж это таки некоторая совместимость?
источник

VS

Vlad Serebrennikov in supapro.cxx
osm1um
Тобеж это таки некоторая совместимость?
само собой
источник

АК

Александр Караев... in supapro.cxx
Denis Paukaev
мой ответ в 99% случаев отвечает на вопрос "почему мой exe не работает у друга"
Там был вопрос, почему ехе работает у друга, хотя другой процессор
источник

o

osm1um in supapro.cxx
Vlad Serebrennikov
само собой
Значит ли это, что наборы инструкций у разных процессоров одинаковы? Есть какое-то соглашение?
источник

DP

Denis Paukaev in supapro.cxx
Александр Караев
Там был вопрос, почему ехе работает у друга, хотя другой процессор
значит не так прочитал
источник

D

Danya in supapro.cxx
osm1um
Ребята, я тут пытался найти ответ на данный вопрос, но толи я не знаю как его сформулировать, толи он слишком очевиден.

Вопрос отчасти не относится к C++:

У меня есть программа написанная на языке C++, пусть это будет стандартный "Hello World". Я собрал её с помощью MSVC в системе на базе процессора Intel. Почему исполняемый файл на выходе работает у моего друга в системе на базе процессора AMD?

Насколько я понимаю у разных процессоров разные op'коды представляют конкретные ассемблерные инструкции, да инструкции врятли у всех одинаковые.

Кроче мой стиль, максимум тупых вопросов. Буду благодарен за ссылки на материал по данной теме.
Потому что по дефолту в VS собирается приложение под архитектуру процессора: x86-32 или x86-64
И AMD, и Интел делают свои архитектуры так, чтобы поддержать x86
источник

VS

Vlad Serebrennikov in supapro.cxx
osm1um
Значит ли это, что наборы инструкций у разных процессоров одинаковы? Есть какое-то соглашение?
если процессор поддерживает, скажем, x86_64 (AMD64), значит, он поддерживает все инструкции этого набора. этот же набор используется как целевой компилятором
источник

o

osm1um in supapro.cxx
Vlad Serebrennikov
если процессор поддерживает, скажем, x86_64 (AMD64), значит, он поддерживает все инструкции этого набора. этот же набор используется как целевой компилятором
Тоесть у него могут быть и уникальные инструкции?
источник

VS

Vlad Serebrennikov in supapro.cxx
osm1um
Тоесть у него могут быть и уникальные инструкции?
да
источник

o

osm1um in supapro.cxx
Спасибо за ответ!
источник

o

osm1um in supapro.cxx
И ещё : был бы рад если бы кого-то не затруднило какие-то материалы по данной теме в топик вкинуть.
источник

VS

Vlad Serebrennikov in supapro.cxx
osm1um
Тоесть у него могут быть и уникальные инструкции?
если дать компилятору более точную информацию о  целевом процессоре (через march у gcc и clang, например), то скомпилированный файл может полагаться и на нестандартные инструкции
источник

VS

Vlad Serebrennikov in supapro.cxx
osm1um
И ещё : был бы рад если бы кого-то не затруднило какие-то материалы по данной теме в топик вкинуть.
википедия?
источник

VS

Vlad Serebrennikov in supapro.cxx
не очень понятно, про что материалы должны быть
источник

D

Danya in supapro.cxx
osm1um
И ещё : был бы рад если бы кого-то не затруднило какие-то материалы по данной теме в топик вкинуть.
Курсы, книги по архитектуре ЭВМ?
источник

o

osm1um in supapro.cxx
Vlad Serebrennikov
википедия?
Больше) Хорошо бы какую-то книгу по устройству x86, статьи об обратной совместимости разных арзитектур и т.п.
источник

AF

Aidar Fattakhov in supapro.cxx
osm1um
Больше) Хорошо бы какую-то книгу по устройству x86, статьи об обратной совместимости разных арзитектур и т.п.
Там сеты инструкций
источник

AF

Aidar Fattakhov in supapro.cxx
Их можно явно спросить
источник

AF

Aidar Fattakhov in supapro.cxx
Они пачками поддерживаются/не поддерживаются и не меняются внутри пачки
источник