
Приветствуем,дамыигоспода。 从ValterиNaize到瓦尔兹( Valter)和纳伊兹( Naize)。 Разберёмсявосновахэтогонизкоуровневогокрасавца🔥
Чтоэтотакое
Ассемблер—照片 Он—由которыйдаетчеловекуспособностьмыслитьвтерминахмашинныхкоманд。 Аподобноеумениепростонеобходимолюбомупрофессиинананьмопрограммисту。 Нопреждечеммыприступимкпрактикеибольшейконкретики,следуетпознакомитьсяс汇编поближе,понятьегоисторию,назначениеиначатьназыватьпо-дружескиблизко – «Асм»。
Ассемблер —языкпрограммированиянизкогоуровня2-гопоколения(послемашиннооокода)。 Относитсякмашинно -ориентированнымязыкам (позволяетнапрямуюработатьскомпьютером)。 Онбылсозданвконце40-ыхсцельюупрощенияразработкипрограммпервымипрограммистами。
ВотличиеотмашинноооАссемблерпозволялиспользоватьболееудобныемнемокодоене Этозначительноупрощалоразработкуиотладкупрограмм 。 ОднакопрограммированиенаАсссемблеребылодовольнотрудоемкойзадачей。 ДляпереводаисходногокодаАссемблеравмашинныйязыкиспользуютсяпрограммы-ассемблеры。

Зачемонвообщенужен
ASMиспользуетсядлянаписаниясамыхбыстрыхикомпактныхпрограмм,ядероперационныхсистем,драйверов,прошивокBIOS,компиляторовиинтерпретаторовязыковвысокогоуровня,вирусовиантивирусов,работыснестандартнойаппаратурой。 ЧастоАссемблериспользуютвместескаким-либоязыкомвысокогоуровня,дляобработкисамыхважных。
Кнедостаткамотносятся: сложностьработыиотсутствиепереносимостипрограммнакомпьютерысререн
ИхотядрайвераиоперационныесистемысейчаспишутнаСи,ноСипривсехегодостоинствах – языквысокогоуровняабстракции,скрывающийотпрограммистаразличныетонкостиинюансыжелеза,аассемблер – языкнизкогоуровняабстракции,прямоотражающийвсеэтитонкостиинюансы。
Наязыкеасссемблерапишутпрограммыилиихфрагментывтехслучаях,когдакритическиважны
- объемиспользуемойпамяти(программы-загрузчики,встраиваемоепрограммноеобеспечение,программыдлямикроконтроллеровипроцессоровсограниченнымиресурсами,вирусы,программныезащитыит.п.);
- быстродействие(программы,написанныенаязыкеассемблеравыполняютсягораздобыстрее,чемпрограммы-аналоги,написанныенаязыкахпрограммированиявысокогоуровняабстракции。Вданномслучаебыстродействиезависитотпониманиятого,какработаетконкретнаямодельпроцессора,реальныйконвейернапроцессоре,размеркэша,тонкостейработы операционнойсистемы。Врезультате,программаначинаетработатьбыстрее,нотеряетпереносимостьи。
Какснимработать
Дляуспешногоиспользованияассемблеранеобходимыхорошеезнаниесразутрёхвещей:
- знаниесинтаксисатранслятораассемблера,которыйиспользуется(например,синтаксисMASM,FASMиGASнемногоотличается),назначениедирективязыкаассемблер(операторов,обрабатываемыхтрансляторомвовремятрансляцииисходноготекстапрограммы);
- пониманиемашинныхинструкций,выполняемыхпроцессоромвовремяработыпрограммы;
- умениеработатьссервисами,предоставляемымиоперационнойсистемой—在API上占了32位。
Витогеполучается,чтодлянаписаниядажепростойпрограммынаассемблеретребуетсявесьмабольшоеколичествопредварительныхзнаний – «порогвхождения»здесьнамноговыше,чемдляязыковвысокогоуровня,номысможемстеретьэтуграницуисделатьсложноедоступнымдлявас。
Хотя,сампосебесинтаксис汇编程序оченьпростойипримитивный。 ВчистомАссемблеремалокомандо Ноиз-затого,чтопомимосинтаксисанужнознатьещёкучувсего,порогвходавАСМповышается。
СтатьипоАссемблерубудутвыходитразвдень-два,какпойдёт,такчтоготовьтеськбольшомуобъёмуинформации))Множествонашихпостоввыможетенайтина电报каналеIT根,такжеунасесть电报бот,вкоторомвсестатьиудобноразбитыокатегориям 。
Хорошихпраздниковидоскорыхвстреч!)