Ассемблер - более одного типа?

Я поступаю в университет через несколько недель (диплом инженера по программному обеспечению) и знаю, что один из модулей, которые я буду изучать в первый год, - это« основы архитектуры »или что-то в этом роде; в основном это обучение программированию на «сборке».

Я хочу пройти базовое обучение, чтобы подготовиться к этому (я проделал то же самое с некоторыми другими модулями), но не знаю, существует ли более одного «языка ассемблера». Сколько их там? Это один на производителя, 32-битный и 64-битный язык или только один стандарт?

Если существует более одного типа, какой самый «популярный» или, вероятно, будет преподаваться на уровне университета?

18
задан Joel Coehoorn 9 December 2011 в 18:08
поделиться

2 ответа

Существует много, много типов языков ассемблера. В настоящее время наиболее популярными являются ARM, MIPS и x86. ARM используется во многих мобильных телефонах и встроенных системах. MIPS популярен в процессорах IBM и используется в таких системах, как Mac, некоторых игровых приставках и некоторых других, которые я наверняка упустил. Ассемблер x86 используется в компьютерах Intel. Каждый из них имеет свои версии, которые охватывают весь спектр от 16-битных до 64-битных инструкций. Особенность ассемблера в том, что старые архитектуры умирают и появляются новые, но фундаментальные вещи, которые делают системы в стиле RISC, в основном остаются теми же самыми. Это просто вопрос изучения мнемоники между системами. Move, Mov, Load и т.д. - все они загружают регистр значением. Это похоже на любой другой язык. Как только вы выучите один из них, вам будет легко освоить новые. Некоторые более старые, с которыми вы можете столкнуться, это Z80, 68000, 6502 и 6510 - в зависимости от того, как далеко в прошлое вы хотите вернуться.

Надеюсь, это поможет.

28
ответ дан 30 November 2019 в 07:22
поделиться

но не знаю, существует ли более одного «ассемблера»

Различные ассемблеры (например, Gnu и Microsoft) для одного и того же процессора могут иметь разный синтаксис языка ассемблера; но разница тривиальна, потому что они оба нацелены на один и тот же ЦП, и между инструкциями сборки и кодами операций ЦП существует сопоставление 1 к 1 (если вы игнорируете макросы).

Большая разница между разными типами ЦП.

Иногда разные ЦП поддерживают одни и те же коды операций (и поэтому могут использоваться одними и теми же ассемблерами), потому что они разработаны для совместимости или конкуренции друг с другом за счет выполнения одного и того же машинного языка.

Но иногда они разные: см. Список архитектур набора команд .

8
ответ дан 30 November 2019 в 07:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: