Přejít na hlavní obsah

Příkazy pro procesor ARM: úplný seznam a podrobný popis

Procesory ARM jsou jedny z nejpopulárnějších mikroprocesorů na světě používaných v různých zařízeních – od mobilních telefonů po počítače a servery. Vyznačují se vysokým výkonem, energetickou účinností a multifunkčností. Jedním z klíčových prvků funkčnosti ARM jsou příkazy, které určují, jak procesor provádí různé operace.

Příkazy pro procesor ARM jsou sada instrukcí a operací, které může procesor provádět. Definují věci, jako jsou aritmetické operace, práce s pamětí, přechody mezi různými ukazateli a další. Každý tým má svůj jedinečný název a specifickou funkčnost.

Pro procesor ARM existuje velké množství příkazů, z nichž každý plní určité úkoly. Některé příkazy, jako je ADD (sčítání), SUB (odčítání) a MUL (násobení), patří k základním aritmetickým operacím. Jiné příkazy, jako je LDR (stahování dat z paměti) a STR (ukládání dat do paměti), regulují práci s pamětí systému. Existují také týmy odpovědné za práci s registry, přechody a logickými operacemi.

Přítomnost velkého počtu příkazů pro procesory ARM umožňuje vývojářům vytvářet složité programy a algoritmy a optimalizovat provoz zařízení na základě těchto procesorů s ohledem na specifické požadavky a úkoly.

Pro programátory a vývojáře je důležité dobře znát a porozumět týmům dostupným pro použití na procesoru ARM, aby bylo možné efektivně využívat jeho zdroje a vytvářet výkonné a inovativní aplikace.

Základní příkazy pro procesor ARM

Přechodové týmy:

Bl-bezpodmínečný dlouhý přechod

B-bezpodmínečný krátký přechod

BEQ-přechod, pokud je vlajka Z rovna 1

BNE-přechod, pokud je vlajka Z rovna 0

Srovnávací příkazy:

CMP-srovnání dvou operandů

CMN-srovnání dvou operandů s inverzí

Příkazy podmíněného provedení:

MOV-přenos hodnoty z jednoho registru do druhého

ADD-sčítání dvou operandů a záznam výsledku

SUB-odečtení jednoho operandu od druhého a záznam výsledku

MUL-násobení dvou operandů a záznam výsledku

Týmy práce s pamětí:

LOAD-načítání hodnoty z paměti do registru

STORE-uložení hodnoty z registru do paměti

Příkazy logických operací:

AND-logické a

Or-logický nebo

EOR-vylučující nebo

Smykové týmy:

LSL-posun doleva

LSR-posun doprava s nulami

ASR - posun doprava s ikonickým rozšířením

ROR-cyklický posun doprava

Příkazy pro správu zásobníku:

STMFD-uložení registrů na zásobníku a snížení ukazatele zásobníku

LDMFD-stahování registrů ze zásobníku a zvýšení ukazatele zásobníku

PUSH-uložení registru na zásobníku

Pop-stahování registru ze zásobníku

Posádky

Aritmetické příkazy pro procesor ARM

ADD (Addition)

Příkaz ADD se používá ke sčítání dvou čísel. Operandy jsou uvedeny v registrech a mohou být jak ikonická, tak beznákladová čísla. Výsledek sčítání je uložen v uvedeném registru.

SUB (Subtraction)

Příkaz SUB se používá k odečtení jednoho čísla od druhého. Operandy jsou uvedeny v registrech a mohou být jak ikonická, tak beznákladová čísla. Výsledek odčítání je uložen v uvedeném registru.

MUL (Multiplication)

Příkaz MUL se používá k vynásobení dvou čísel. Operandy jsou uvedeny v registrech a mohou být jak ikonická, tak beznákladová čísla. Výsledek násobení je uložen v uvedeném registru.

SDIV (Signed Division)

Příkaz SDIV se používá k celočíselnému dělení dvou čísel. Operandy jsou uvedeny v registrech a jsou ikonickými čísly. Soukromé dělení je uloženo v uvedeném registru.

UDIV (Unsigned Division)

Příkaz UDIV se používá k celočíselnému dělení dvou čísel. Operandy jsou uvedeny v registrech a jsou bez známek. Soukromé dělení je uloženo v uvedeném registru.

RSB (Reverse Subtract)

Příkaz RSB odečte jedno číslo od druhého a změní znaménko výsledku (získá opačné číslo). Operandy jsou uvedeny v registrech a mohou být jak ikonická, tak beznákladová čísla. Výsledek je uložen v uvedeném registru.

RSBL (Reverse Subtract with Carry)

Příkaz RSBL provádí operaci odčítání s ohledem na přenos (carry). Používá se k provedení operace odčítání dvou 64bitových čísel s ohledem na přenos z předchozího vybití. Výsledek je uložen v uvedeném registru.

RSC (Reverse Subtract with Carry)

Příkaz RSC odečte jedno číslo od druhého s ohledem na přenos (carry) a změní znaménko výsledku (získá opačné číslo). Operandy jsou uvedeny v registrech a mohou být jak ikonická, tak beznákladová čísla. Výsledek je uložen v uvedeném registru.

RSCl (Reverse Subtract with Carry)

Příkaz RSCl provádí operaci odčítání s ohledem na přenos (carry) z předchozího vybití. Používá se k provedení operace odčítání dvou 64bitových čísel s ohledem na přenos z předchozího vybití. Výsledek je uložen v uvedeném registru.

ASR (Arithmetic Shift Right)

Příkaz ASR provádí aritmetický posun čísla doprava. Operandy jsou uvedeny v registrech a mohou být jak ikonická, tak beznákladová čísla. Počet směnových výbojů je uveden druhým operandem nebo jako okamžitá hodnota. Výsledek je uložen v uvedeném registru.

Logické příkazy pro procesor ARM

Procesory ARM poskytují mnoho příkazů, které vám umožňují provádět logické operace nad daty. Tyto operace se provádějí nad jednotlivými bity dat nebo nad všemi bity najednou. Příkazy logických operací vám umožňují zpracovávat bulové hodnoty, porovnávat hodnoty a provádět bitové operace.

Zde jsou některé z příkazů logických operací podporovaných procesorem ARM:

  • AND - provádí bitovou logickou operaci a dvě operandy a zachovává výsledek;
  • EOR - provádí bitovou operaci "vylučující nebo" nad dvěma operandy a zachovává výsledek;
  • ORR - provede bitovou logickou operaci nebo dvě operandy a zachová výsledek;
  • BIC - výchozí bitová logická operace popření nad prvním operandem a provedení operace " a " nad výsledkem a druhým operandem;
  • ANDS - provádí bitovou logickou operaci a nad dvěma operandy a aktualizuje vlajky výsledku (nastavuje vlajky Z A N);
  • EORS - provádí bitovou operaci "vylučující nebo" nad dvěma operandy a aktualizuje vlajky výsledku;
  • ADDS - provede sčítání dvou operandů a aktualizuje vlajky výsledku;
  • CMN - provede sčítání dvou operandů, ale výsledek se neukládá, pouze se aktualizují vlajky výsledku;
  • TST - provádí bitovou logickou operaci a na dvou operandech, ale výsledek se neuloží, pouze se aktualizují vlajky výsledku;

Toto je pouze několik z mnoha příkazů dostupných pro logické operace v procesorech ARM. Přesné detaily každého příkazu a jejich syntaxi lze nalézt v dokumentaci procesoru ARM.

Logické příkazy pro procesor ARM umožňují programátorům efektivně pracovat s daty a provádět různé logické operace potřebné při vývoji softwaru pro zařízení založená na architektuře ARM.