Насколько различается язык ассемблера для разных типов процессоров? - PullRequest
2 голосов
/ 15 июля 2011

Насколько различается язык ассемблера для каждого типа процессора?

Если кто-то изучит сборку Intel x86, придется ли ему начинать полностью с самого начала, если он будет использовать сборку с другим типом процессора (fx x86-64)?

Ответы [ 3 ]

3 голосов
/ 15 июля 2011

Ну, некоторые понятия похожи. Например, все процессорные архитектуры имеют регистры для быстрого временного хранения, все они имеют указатель инструкций, и почти все они имеют стек. По моему опыту, если вы можете обрабатывать x86 (и, конечно, amd64, который более сложен, чем просто добавление 32 бит), вы сможете довольно быстро обрабатывать более простые архитектуры, такие как ARM, z80 или MIPS.

Если вы хотите быстро ее получить, скачайте бесплатную версию IDA или, если вы находитесь в Windows, есть также Ollydbg. Напишите небольшую программу на C и разберите то, что вы написали. Таким образом, вы выучите тонну (именно так я и научился).

Также следует отметить, что для x86 существует два основных варианта синтаксиса сборок - Intel и AT & T. Кажется, толпа Linux использует синтаксис AT & T, но я предпочитаю Intel лично.

2 голосов
/ 15 июля 2011

Это действительно зависит от конкретного языка ассемблера.Разница между 32- и 64-битными процессорами x86 не так уж и велика (дополнительные регистры и т. Д.), Но разница между 64-битным процессором для ПК и старым процессором сотового телефона с откидной крышкой будет чертовски разной.Тем не менее, в целом, большинство понятий будут переведены довольно хорошо.

0 голосов
/ 15 июля 2011

Они, как правило, больше похожи, чем отличаются.x86 - последний набор инструкций, который вы хотите выучить, он не так уж хорош из набора инструкций, довольно уродливо.да, если вы выучите это, другие действительно просты, но лучше сначала выучить хороший набор инструкций.И, как следует из вашего вопроса, если вы знаете одно или два, то другие - это вопрос синтаксиса.msp430 - это хороший первый набор инструкций, аппаратное обеспечение очень дешевое (до 5 долларов) или просто используйте симулятор.поддерживается в mainline binutils.рука и большой палец - другие хорошие наборы инструкций, чтобы учиться.Аналогичным образом, аппаратное обеспечение дешевое, на базе cortex-m3 (только для thumb / thumb2 без инструкций для рук) примерно за 10 баксов, для рук / thumb (без thumb2) для менее чем 40. Также есть бесплатные тренажеры, так что вам не нужно покупать оборудование.

...