Асемблер - команда за начинаещи програмисти от ниско ниво
Всички команди могат да се изпълняват само с помощта на машинен език. Асемблерни команди - символично представяне на този език. С негова помощ пишете малки, но много бързи програми. Но въпреки размера им процесът на писане е отнема много време. Следователно команди за асемблер се използват за работа с хардуерната компонента или когато изпълнението на програмата е критично недостатъчно за паметта. Следователно, асемблерният код е проектиран под формата на подпрограми и е интегриран с кода на високо ниво. Тъй като асемблерът може да бъде много различен в зависимост от типа архитектура, той трябва да се разглежда за конкретен случай, в тази статия това е архитектурата на Win. Но описанието на команди за асемблер като правило не се променя много и може да се използва както в микроконтролери, така и в други електронни устройства, за които се използва асемблер.
съдържание
Аритметични инструкции, използвани в асемблер
Въпреки такъв парадокс, като универсалност, само 4 команди на аритметична асемблер са и могат да бъдат използвани от програмистите. Но въпреки това те създадоха езици за програмиране на високо ниво, използващи компютри, домашни уреди, телефони, смартфони, лаптопи и др. Те могат да работят и много успешно. Списъкът с командите на асемблера е както следва:
- Освен;
- изваждане;
- умножение;
- деление.
допълнение
Аритметична операция, известна от училище. За да го използвате, трябва да имате предвид само функцията за добавяне, която е свързана с представянето на номерата, които да се добавят в паметта на самия компютър. Общата форма на операцията е, както следва:
ДОБАВИ
Екипът взема числата от клетките, добавя ги и ги пише на "Cell1". Сега за условията на операцията: и двата номера от клетката трябва да имат същия размер. Също така, ако първо има регистър, можете да добавите всичко към него. Ако клетката първо отиде, тогава може да се добави или непосредствения операнд, или регистъра.
Описанието на командите на асемблер и тяхното изпълнение изисква по-пълен подход, отколкото една статия може да осигури. Асемблер заповядва, въпреки оскъдния им брой, да напише огромен брой книги, които имат повече от сто страници. Ето защо, въпреки очевидната лекота, ви препоръчваме да се запознаете с по-подробно описание на работата в екип, което ще ви позволи да научите всички нюанси за различните архитектури.
изваждане
Тази операция се изпълнява от същия алгоритъм като предишния. Дори команден тип на командата е подобен:
SUB
Принципът на броене е както следва: от номер 1, стойността на № 2 се изважда и се записва на място № 1. Условията за операцията са точно същите като условията за операцията за добавяне.
умножение
Ако за разделянето и добавянето бяха използвани едни и същи команди, както за неподписани, така и за подписани числа, за умножение и разделяне има различни алгоритми за тях. Така че, за да умножете неподписаните номера, използвайте тази команда:
MUL <операнд>
Оперативният елемент, посочен в командата, е един от факторите. Местоположението на втория фактор и местоположението на резултата от операцията се фиксират предварително, в зависимост от размера MUL в байтове. Тяхното местоположение е темата на отделна статия. За умножаване на знаци използвайте командата:
IMUL<операнд # 1>, <операнд номер 2>
Можете да срещнете други възможности за внедряване, но това е по-разбираемо и познато. Показани са два фактора и резултатът е поставен в операнд # 1. В този случай регистърът е операнд # 1, а операндът # 2 е регистърът или мястото на паметта. Но ще бъдат описани и други опции:
IMUL<операнд № 1>
IMUL<операнд # 1>, <операнд номер 2>, <незабавен операнд>
IMUL<операнд # 1>, <незабавен операнд>
Първият вариант е подобен на MUL в устройството му, така че правилата за него могат да бъдат приписани тук. Втората опция ви позволява изрично да посочите местоположението - както резултата, така и множителя. Третата опция определя регистъра, който ще бъде първият фактор и в който ще бъде поставен резултатът от мултиплицирането. Непосредственият операнд означава индикация за неопределен регистър, но номера, с който операндът ще се умножи.
делене
Както вече беше посочено по-горе, два отбора се използват за разделяне. За неподписани номера:
DIV <операнд>
За подписаните номера използвайте командата:
IDIV <операнд>
Особеността на използването на разделящи команди е, че се използва само операнда-делител, който е регистър или клетка на паметта. Разделяемият номер винаги има свое специфично местоположение, което зависи от размера на номера. Неговото място е резултат от операцията.
Търсене и определяне на места може да се каже същото като умножение: имате нужда от отделна статия, защото размерът на информацията е много важен.
Полезно заключение
Също така към категорията "относително полезни асемблерни команди" е екипът на NEG <Клетка / регистър>. Той превръща знака в число, което е в операнда. Това е всичко, ние се надяваме, че статията ви е помогнала да разберете командите на асемблерния асемблер.
Операциите на увеличаване и намаляване (увеличаване или намаляване на операнда с един) също са полезни. За да увеличите операнда, трябва да регистрирате следната команда:
INC <операнд>
За понижаване е необходимо да напишете:
декември <операнд>
Мястото или регистърът на паметта може да действа като операнд. Изключителната полза от тези операции е, че те заемат по-малко пространство за себе си от аналогичните асемблерни команди, предлагани чрез добавяне или изваждане.
- Учебен алгоритмичен език: цел, правила, команди. Понятието алгоритмичен език
- Java програмен език
- Какво представлява компютърната архитектура?
- Програмиране на микроконтролери за начинаещи: лесно и достъпно
- Цикъл с последващо условие и цикъл с предварително условие
- Програмиране: език на асемблера. Основи на асемблерния език
- Питън за начинаещи
- Какво представляват микропроцесорите? Типове микропроцесори
- Обратно инженерство за начинаещи. Защитете приложенията за Android от обратната инженеринг
- Преводачът е ... Видове преводачи. Преобразувайте и превеждайте програмата
- Незавършени: Командни конзоли за единични и мултиплейър игри
- Езикът на програмиране c (s)
- Какво е форматирането на ниско ниво и как се създава?
- Кода на машината като програмен език. Асемблер език
- Реч за разпознаване на Windows 7
- Компилацията е процес, който улеснява комуникацията между програмист и компютър
- DOS операционна система: описание и функции
- Условни твърдения if / else в Python: синтаксис и приложение
- Каква е системата за програмиране
- Класификация на езиците за програмиране по нива
- Защо да използвате езици за програмиране на високо ниво?