9. diel - Assembler - Ďalšie inštrukcie pre prácu s číslami
V assembler tutoriále budeme inštrukciami ADC a
SBB sčítať a odčítať veľké čísla. K násobenie a delenie
použijeme inštrukcie MUL, IMUL, DIV,
IDIV. Spomenieme si tiež LEA.
Sčítanie a odčítanie veľkých čísel
Zo školy si určite všetci pamätáme, ako sa sčítavajú dve čísla.
Napíšeme si ich pod sebou a sčítame jednotlivé číslice sprava doľava. Ak
je súčet číslic väčší než 9, prenáša sa jednička do
vyššieho rádu.
Na počítaču slúži k prenosu jedničky bit CF (Carry Flag) v
registri EFLAGS.
Inštrukcia ADC (Add With Carry)
Inštrukcie ADC sa od inštrukcia ADD líši iba v
tom, že k výsledku navyše pripočíta jednotku, pokiaľ je nastavený
príznak CF.
Príklad - Súčet dvoch 64-bitových čísel
Na nasledujúcom príklade si ukážeme, ako možno sčítať dve 64-bitová čísla v 32-bitovej aplikácii (v kompilátora MASM):
x1 dq 1234567890123 x2 dq 45678901345 y dq ? mov eax,dword ptr x1 add eax,dword ptr x2 mov dword ptr y,eax mov eax,dword ptr x1+4 adc eax,dword ptr x2+4 mov dword ptr y+4,eax
Direktívou DQ definujeme 64-bitové globálne premenné. V
premenných x1 a x2 sú
...koniec náhľadu článku...
Pokračuj ďalej
Došiel si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.
Kúpiť iba tento kurz
Získaj okamžitý prístup ku kurzu bez
časového obmedzenia.
125 kreditov
Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.
- Prístup k jednotlivým lekciám podľa spôsobu obstarania.
- Kvalitné znalosti v oblasti IT.
- Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.
Popis článku
Požadovaný článok má nasledujúci obsah:
V assembler tutoriále budeme inštrukciami ADC a SBB sčítať a odčítať veľké čísla. K násobenie a delenie použijeme inštrukcie MUL, IMUL, DIV a IDIV.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.