Кампутары, Праграмаванне
Асэмблер - каманды для пачаткоўцаў нізкаўзроўневых праграмістаў
Усе каманды могуць быць выкананы толькі з дапамогай машыннага мовы. Асэмблер-каманды - сімвалічнае ўяўленне гэтай мовы. З яго дапамогай пішуць невялікія, але вельмі хуткія праграмы. Але, нягледзячы на іх памер, працэс напісання вельмі працаёмкі.
Арыфметычныя каманды, якія прымяняюцца ў асэмблеры
Нягледзячы на такі парадокс, як універсальнасць, усяго 4 арыфметычныя каманды асэмблера ёсць і могуць выкарыстоўвацца праграмістамі. Але тым не менш з дапамогай іх ствараліся высокаўзроўневыя мовы праграмавання, на якіх працуюць кампутары, бытавая тэхніка, тэлефоны, смартфоны, ноўтбукі і т. Д. Працаваць з імі можна, і вельмі паспяхова. Спіс каманд асэмблера такі:
- складанне;
- адніманне;
- множанне;
- дзяленне.
складанне
Арыфметычная аперацыя, вядомая яшчэ са школы. Для яе выкарыстання неабходна ўлічваць толькі асаблівасць складання, якая звязаная з прадстаўленнем складвацца лікаў у памяці самога кампутара. Агульны выгляд аперацыі такі:
ADD <Ячейка1 / Регистр1>, <Ячейка2 / Регистр2>
Каманда бярэ колькасці з вочак, складае іх разам і запісвае ў «Ячейку1». Цяпер пра ўмовы праходжання аперацыі: абодва колькасці з вочка павінны мець аднолькавы памер. Таксама калі спачатку ідзе рэгістр, то да яго можна прыплюсаваць ўсё. Калі спачатку ідзе вочка, то да яе можна прыплюсаваць або непасрэдны аперанд, або рэгістр.
Апісанне каманд асэмблера і іх рэалізацыі патрабуе больш поўнага падыходу, чым можа даць адзін артыкул. Па камандам асэмблера, нягледзячы на іх вартае жалю колькасць, пішацца найвелізарная колькасць кніг, якія маюць не адну сотню старонак. Таму, нягледзячы на ўяўную лёгкасць, рэкамендуем азнаёміцца з больш дэталёва апісвае каманды працай, якая дазволіць даведацца ўсе нюансы для розных архітэктур.
адніманне
Гэтая аперацыя спаўняецца па такім жа алгарытме, як і папярэдняя. Нават тып запісу каманды падобны:
SUB <Ячейка1 / Регистр1>, <Ячейка2 / Регистр2>
множанне
Калі для дзялення і складання выкарыстоўваліся аднолькавыя каманды, як для беззнаковых, так і для знакавых лікаў, то пры памнажэньні і дзяленні для іх існуюць розныя алгарытмы. Так, для множання беззнаковых лікаў выкарыстоўваецца такая каманда:
MUL <аперанд>
IMUL <операнд№1>, <операнд№2>
Можна сустрэць і іншыя варыянты рэалізацыі, але гэты з'яўляецца больш зразумелым і звыклым. Паказваюцца два сомножителя, і вынік змяшчаецца ў аперанд №1. Пры гэтым у якасці аперанда №1 выступае абавязкова рэгістр, а аперанда №2 - рэгістр або вочка памяці. Але іншыя варыянты таксама будуць апісаны:
IMUL <операнд№1>
IMUL <операнд№1 >>, <операнд№2>, <непасрэдны аперанд>
IMUL <операнд№1>, <непасрэдны аперанд>
Першы варыянт падобны MUL па сваёй прыладзе, таму правілы да яго можна аднесці і тут. Другі варыянт дазваляе відавочна паказаць месцазнаходжанне - як выніку, так і сомножителя. У трэцім варыянце паказваецца рэгістр, які будзе першым сомножителем і ў якім будзе змешчаны вынік множання. Пад непасрэдным аперандам маецца на ўвазе указанне не вызначанага рэгістра, а чысла, на якое будзе множыцца аперанд.
дзяленне
Як ужо паведамлялася вышэй, для дзялення выкарыстоўваюцца дзве каманды. Для беззнаковых лікаў ўжываюць:
DIV <аперанд>
Для знакавых лікаў выкарыстоўваюць каманду:
IDIV <аперанд>
Асаблівасць прымянення каманд дзялення заключаецца ў тым, што выкарыстоўваецца толькі аперанд-дзельнік, у якасці якога выступае рэгістр або вочка памяці. Падзельнае лік заўсёды мае сваё пэўнае месцазнаходжанне, якое залежыць ад памеру колькасці. Сваё месца мае і вынік аперацыі.
Па пошуку і вызначэнню месцаў можна сказаць тое ж, што і пра памнажэнне: неабходная асобны артыкул, так як аб'ём інфармацыі вельмі значны.
карыснае заключэнне
Таксама да катэгорыі "адносна карысныя каманды асэмблера" варта аднесці і каманду NEG <Ячэйка / Рэгістр>. Яна перакладае знак у лік, якое знаходзіцца ў аперанда. Вось і ўсё, спадзяемся, што артыкул дапамагла вам разабрацца ў арыфметычных камандах асэмблера.
Спатрэбяцца і аперацыі инкрементирования і декрементирования (павелічэння або памяншэння аперанда на адзінку). Каб инкрементировать аперанд неабходна прапісаць такую каманду:
INC <аперанд>
Для декрементации варта прапісаць:
DEC <аперанд>
У якасці аперанда можа выступіць вочка памяці або рэгістр. Выключная выгада ад гэтых аперацый заключаецца ў тым, што яны для сябе забіраюць менш месцы, чым аналагічныя каманды асэмблера, прапанаваныя складаннем або адніманне.
Similar articles
Trending Now