BPC-MIC03 - Typy instrukcí, zásobník
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
bity V, N, Z, C.
• Samotný výsledek se nikam neukládá.
• Příklady pro HCS08:
– CMP $1022
– CMP #$0A
– CPHX $1022
– CPHX #$4096
Instrukce testování
• Test obsahu registru nebo paměťového místa
na nulu nebo zápornou hodnotu
• Dle výsledku se nastavují příznakové bity N, Z
• Příklady pro HCS08:
– TSTA
(A)-0
– TSTX
(X)-0
– TST $60
(M)-0
Logické instrukce
• COM (1. doplněk), AND, OR, EOR
• Příklady pro HCS08:
– AND #$0A
• Logický součin obsahu akumulátoru A a konstanty 0x0A
– ORA PORTA
• Logický součet obsahu akumulátoru A a paměťového
místa označeného návěštím PORTA
Posuvy a rotace
• Posuv
– Logický posuv
– Aritmetický posuv
– Cyklický posuv - rotace (HCS08 nemá)
– Cyklický přes C (carry) -rotace přes C
• Posuv
– Vlevo.
– Vpravo.
Instrukce větvení
• Nepodmíněné skoky.
• Podmíněné skoky.
• Nepodmíněná volání podprogramu.
• Podmíněná volání podprogramu.
Instrukce pro realizaci cyklů
• CBEQ
– Compare and branch if (A) = (M)
• DBNZ
– Dekrementuje A, X nebo M a provede skok, jestli
výsledek dekrementace není 0.
Instrukce pro řízení procesoru
• Povolení a zakázání přerušení.
• Přepnutí do chráněného módu.
• Přepnutí do úsporného režimu.
• ….
Zásobník (stack)
• Struktura typu LIFO (Last In – First Out,
poslední dovnitř – první ven)
• Může být vytvářen obvykle kdekoli v operační
paměti RAM.
• Roste směrem dolů
– Data ukládána od vyšších adres k nižším adresám.
Ukazatel zásobníku (Stack Pointer)
• Pro práci se zásobníkem je vyčleněn speciální
registr.
• Ukazuje na první volný byte (HCS08) nebo na
poslední uložený byte (Intel).
Použití zásobníku
• Uložení návratové adresy při volání
podprogramu a při obsluze přerušení.
• Předávání parametrů funkcím.
• Předávání návratových hodnot z funkcí.
• Místo pro vytváření lokálních proměnných.
• Dočasné úložiště pro mezivýsledky.
Instrukce pro práci se zásobníkem
• Vložení na vrchol zásobníku (Push)
• Např. PSHA (HCS08)