CPU

Z MiS
Přejít na: navigace, hledání


Obsah

Co je CPU?


Parametry procesoru

Technické parametry
Další parametry

Procesor z pohledu SW

Základní pojmy

Registry
Instrukční sada
Strojový kód
Assembler

Typy instrukcí

Assembler — ukázka

Příklad — Výpočet n-tého prvku Fibonacciho posloupnosti.

; Vypocita n-ty prvek Fibonacciho posloupnosti 
; --------------------------------------------
; Vysledek zustane v registru B a bude na prvnim miste 
;  v pameti vystupu. 
; Bylo by lepsi cislo prevest na ASCII tvar, ale to by chtelo dalsi 
;  proceduru... ;) 

JMP start ; Skok na zacatek kodu. Nasleduje misto pro 
          ; promenne, to chceme preskocit.   

; Promenne: 
poradiPrvku: DB 7 ; Kolikaty prvek Fibonacciho posloupnosti chceme?
vysledek:    DB 0 ; Sem zapisi vysledek 

start:            ; Navesti, na ktere skaceme instrukci JMP

MOV C, [poradiPrvku] ; Ukazatel na promennou konecRady 
MOV A, [vysledek] ; Ulozim do registru A hodnotu promenne 
                  ;  (najdu hodnotu na adrese odkazu)
                  ; Bude to predchozi prvek 
MOV B, [vysledek] ; Totez ulozim do B - bude to aktualni prvek
INC B             ; Zvysim B o 1 

CMP C, 1          ; Pokud je C vetsi nebo rovno jedne...
JAE .zacatekCyklu ; ... skoc na zacatek vypoctu...
JMP .vypis        ; ... jinak muzes zrovna vypsat vysledek 0

.zacatekCyklu: 
ADD A, B          ; Prictu k (A) aktualnimu prvku (B) predchozi, ziskam
                  ;  tim nasledujici prvek (vysledek bude v A)
MOV D, A          ; Prohodim nasledujici prvek na pozici aktualniho...
MOV A, B          ;  a aktualni na pozici predchoziho.
MOV B, D          ; Jako pomocny registr pouziji D.

DEC C             ; Snizim citac C o 1
CMP C, 2          ; Porovnam B s dvojkou
JA .zacatekCyklu  ; Pokud je B > 2, pokracuji v cyklu 

.vypis:
MOV D, vysledek   ; Do registru D dam adresu promenne 
                  ;  "vysledek" 
MOV [D], B        ; Vysledek do promenne "vysledek"  

MOV D, 232        ; Uloz ukazatel na pamet pro vystup 
                  ;  (graficka karta) 
MOV [D], B        ; Vypisu vysledek na vystup

HLT               ; Konec programu

Související stránky

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje