Другие языки программирования и технологии

Про синтаксис ассемблера.

Есть два синтаксиса ассемблера так вот можно ли программировать на ассемблера с двумя синтаксиса ми на процессоре Intel??? У каждого процессора свой синтаксис??? Если нет то какой синтаксис у AMD???
"Есть два синтаксиса ассемблера" - утверждение в корне не верное, так как синтаксисов туева хуча так как архитектур процессоров тоже (микроконтроллеры (на базе ядра cortex-m3, cortex-m4, AVR, PIC ну и еще есть), процессоры ARM, cortex, х86 и т. д и т. п.).

"так вот можно ли программировать на ассемблера с двумя синтаксисами на процессоре Intel" - один ассемблер, один синтаксис. Так что не возможно на одном ассемблере с двумя синтаксисами работать!

"У каждого процессора свой синтаксис???" - Нет. У каждого ассемблера свой синтаксис! А у каждого процессора свой набор комманд, так назывемая система комманд процессора.

"Если нет то какой синтаксис у AMD???" - Из предыдущего вытекает что у процессора нет синтаксиса.

Короче подведем итоги:
Синтаксис - относится к языкам программирования. А в данном случае только к ассемблерам. К процессорам синтаксис не относится от слова никак!

Процессоры Intel и AMD имеют одинаковую систему комманд (те же комманды что были сделаны для intel легко "переварятся" AMD и наоборот) Про такие процессоры говорят что они совместимы. Intel и AMD - это х86 совместимые процессоры.

Для х86 совместимых процессоров существует несколько ассемблеров (так навскидку те что я знаю: fasm, masm, tasm(устарел), wasm, nasm и еще gas для GNU). У каждого синтаксис отличается но по большому счету практически все базируются на intel синтаксисе. Но есть еще и GNU синтаксис (gas). От синтаксиса зависит то, как на нем нужно писать
mov eax, ebx или mov %ebx, %eax эти две команды эквивалентны, но с разным синтаксисом.
При этом в конечном итоге получится один и тот же код. даже на ассемблерах с разным синтаксисом.
Do Not Worry To Get By...
Do Not Worry To Get By...
15 408
Лучший ответ
Процессоры Intel и AMD имеют практически идентичную систему команд и используют одни и те же ассемблеры. Разница между ассемблерами ОДНОЙ процессорной архитектуры - это просто разница в начертании букв алфавита.

И возможность их совместного использования определяется тем, насколько совпадают форматы объектных файлов, генерируемых ассемблером. Если два ассемблера генерируют объектный код, понимаемый одним компоновщиком (линкером), то их можно использовать совместно.
Антон Слепухин
Антон Слепухин
50 740
Станислав Юдин Если честно я не понял что ты написал.
Для одного процессора может быть один синтаксис или может использовать обе??
Если не ошибаюсь, синтаксис ассемблера amd используется в linux компиляторах, а синтаксис intel в виндовых. Если вы под windows можно писать "intel"-овским синтаксисом, даже если на машин amd
Вы говорите о 2х семействах ассемблерных синтаксисов, они развиваются по мере появления новых процессоров. Вам известны только для Intel и AMD, но есть ещё другие семейства, например ARM.
Из-за скорости появления и устаревания устройств программировать на ассемблере нерентабельно, по сравнению, допустим, с Си.
Станислав Юдин Я знаю архитектуру arm.
На одном процессоре можно программировать только одним синтаксис ом???