汇编器:开始

Приветствуем,дамыигоспода。 从ValterиNaize到瓦尔兹( Valter)纳伊兹( Naize)。 Разберёмсявосновахэтогонизкоуровневогокрасавца🔥

Чтоэтотакое

Ассемблер—照片 Он—由которыйдаетчеловекуспособностьмыслитьвтерминахмашинныхкоманд。 Аподобноеумениепростонеобходимолюбомупрофессиинананьмопрограммисту。 Нопреждечеммыприступимкпрактикеибольшейконкретики,следуетпознакомитьсяс汇编поближе,понятьегоисторию,назначениеиначатьназыватьпо-дружескиблизко – «Асм»。

Ассемблер —языкпрограммированиянизкогоуровня2-гопоколения(послемашиннооокода)。 Относитсякмашинно -ориентированнымязыкам (позволяетнапрямуюработатьскомпьютером)。 Онбылсозданвконце40-ыхсцельюупрощенияразработкипрограммпервымипрограммистами。

ВотличиеотмашинноооАссемблерпозволялиспользоватьболееудобныемнемокодоене Этозначительноупрощалоразработкуиотладкупрограмм 。 ОднакопрограммированиенаАсссемблеребылодовольнотрудоемкойзадачей。 ДляпереводаисходногокодаАссемблеравмашинныйязыкиспользуютсяпрограммы-ассемблеры。

Зачемонвообщенужен

ASMиспользуетсядлянаписаниясамыхбыстрыхикомпактныхпрограмм,ядероперационныхсистем,драйверов,прошивокBIOS,компиляторовиинтерпретаторовязыковвысокогоуровня,вирусовиантивирусов,работыснестандартнойаппаратурой。 ЧастоАссемблериспользуютвместескаким-либоязыкомвысокогоуровня,дляобработкисамыхважных。

Кнедостаткамотносятся: сложностьработыиотсутствиепереносимостипрограммнакомпьютерысререн

ИхотядрайвераиоперационныесистемысейчаспишутнаСи,ноСипривсехегодостоинствах – языквысокогоуровняабстракции,скрывающийотпрограммистаразличныетонкостиинюансыжелеза,аассемблер – языкнизкогоуровняабстракции,прямоотражающийвсеэтитонкостиинюансы。

Наязыкеасссемблерапишутпрограммыилиихфрагментывтехслучаях,когдакритическиважны

  • объемиспользуемойпамяти(программы-загрузчики,встраиваемоепрограммноеобеспечение,программыдлямикроконтроллеровипроцессоровсограниченнымиресурсами,вирусы,программныезащитыит.п.);
  • быстродействие(программы,написанныенаязыкеассемблеравыполняютсягораздобыстрее,чемпрограммы-аналоги,написанныенаязыкахпрограммированиявысокогоуровняабстракции。Вданномслучаебыстродействиезависитотпониманиятого,какработаетконкретнаямодельпроцессора,реальныйконвейернапроцессоре,размеркэша,тонкостейработы операционнойсистемы。Врезультате,программаначинаетработатьбыстрее,нотеряетпереносимостьи。

Какснимработать

Дляуспешногоиспользованияассемблеранеобходимыхорошеезнаниесразутрёхвещей:

  • знаниесинтаксисатранслятораассемблера,которыйиспользуется(например,синтаксисMASM,FASMиGASнемногоотличается),назначениедирективязыкаассемблер(операторов,обрабатываемыхтрансляторомвовремятрансляцииисходноготекстапрограммы);
  • пониманиемашинныхинструкций,выполняемыхпроцессоромвовремяработыпрограммы;
  • умениеработатьссервисами,предоставляемымиоперационнойсистемой—在API上占了32位。

Витогеполучается,чтодлянаписаниядажепростойпрограммынаассемблеретребуетсявесьмабольшоеколичествопредварительныхзнаний – «порогвхождения»здесьнамноговыше,чемдляязыковвысокогоуровня,номысможемстеретьэтуграницуисделатьсложноедоступнымдлявас。

Хотя,сампосебесинтаксис汇编程序оченьпростойипримитивный。 ВчистомАссемблеремалокомандо Ноиз-затого,чтопомимосинтаксисанужнознатьещёкучувсего,порогвходавАСМповышается。

СтатьипоАссемблерубудутвыходитразвдень-два,какпойдёт,такчтоготовьтеськбольшомуобъёмуинформации))Множествонашихпостоввыможетенайтина电报каналеIT根,такжеунасесть电报бот,вкоторомвсестатьиудобноразбитыокатегориям 。

Хорошихпраздниковидоскорыхвстреч!)