LocalazyLocalazy
LC-3 je nízkoúrovňový programovací jazyk určený na výučbu informatiky. Vyvinuli ho Dr. Joel Adams a Dr. Sanjay Patel na Calvin College. LC-3 je založený na Little Computer 3 (LC-3), 16-bitovom mikroprocesore, ktorý navrhol James L. Peterson v roku 1985. LC-3 je obľúbenou voľbou pre výučbu informatiky, pretože je dostatočne jednoduchý na to, aby ho študenti ľahko pochopili, ale stále je schopný spúšťať zložité programy. Súbor inštrukcií LC-3 obsahuje len niečo vyše 50 inštrukcií, ktoré sú dostatočne jednoduché na to, aby sa dali implementovať v hardvéri bez potreby mikrokódu ROM. Vďaka tomu sa LC-3 ľahko navrhuje a zostavuje a tiež ľahko vyučuje. LC-3 je asemblerový jazyk, čo znamená, že programy sa píšu v textovom editore a potom sa zostavujú do strojového kódu, ktorý sa dá spustiť na LC-3. Jazyk assembleru je nízkoúrovňový programovací jazyk, čo znamená, že je blízky strojovému kódu, ktorý LC-3 spúšťa. To uľahčuje pochopenie toho, čo LC-3 robí, ale zároveň to sťažuje písanie zložitých programov. LC-3 je von Neumannova architektúra, čo znamená, že má jeden zdieľaný pamäťový priestor pre kód aj dáta. To uľahčuje písanie programov, ktoré sa modifikujú, ale zároveň to sťažuje písanie programov, ktoré potrebujú prístup k viacerým pamätiam. LC-3 je harvardská architektúra, čo znamená, že má oddelené pamäťové priestory pre kód a dáta. To uľahčuje písanie programov, ktoré pristupujú k viacerým pamätiam, ale zároveň sťažuje písanie programov, ktoré sa modifikujú. LC-3 je architektúra RISC, čo znamená, že má malý počet inštrukcií, ktoré sa vykonávajú veľmi rýchlo. Vďaka tomu je LC-3 rýchly, ale zároveň sťažuje písanie programov, ktoré potrebujú vykonávať zložité operácie. LC-3 je architektúra CISC, čo znamená, že má veľký počet inštrukcií, ktoré sa vykonávajú pomaly. To spôsobuje, že LC-3 je pomalý, ale zároveň uľahčuje písanie programov, ktoré potrebujú vykonávať zložité operácie. LC-3 je 8-bitový mikroprocesor, čo znamená, že dokáže ukladať a spracovávať 8-bitové čísla. To spôsobuje, že LC-3 je obmedzený vo veľkosti čísel, ktoré dokáže ukladať a spracovávať, ale zároveň to uľahčuje prácu s bajtmi údajov. LC-3 je 16-bitový mikroprocesor, čo znamená, že dokáže ukladať a spracovávať 16-bitové čísla. Tým je LC-3 obmedzený vo veľkosti čísel, ktoré dokáže ukladať a spracovávať, ale zároveň uľahčuje prácu so slovami údajov. LC-3 je 32-bitový mikroprocesor, čo znamená, že dokáže ukladať a spracovávať 32-bitové čísla. Tým je LC-3 obmedzený vo veľkosti čísel, ktoré dokáže ukladať a spracovávať, ale zároveň uľahčuje prácu s dvojslovnými údajmi. LC-3 má malý počet registrov, ktoré sa používajú na ukladanie údajov a pamäťových adries. LC-3 má osem univerzálnych registrov, ktoré možno použiť na ukladanie údajov. LC-3 má aj dva špeciálne registre, ktoré sa používajú na ukladanie pamäťových adries. LC-3 má obmedzený počet režimov adresovania, ktoré sa používajú na výpočet pamäťových adries. LC-3 má päť režimov adresovania: okamžitý, priamy register, nepriamy register, automatické zvyšovanie a automatické znižovanie. LC-3 má obmedzenú sadu inštrukcií, čo je malá množina inštrukcií, ktoré môže LC-3 vykonávať. LC-3 má len niečo vyše 50 inštrukcií, ktoré sú dostatočne jednoduché na to, aby sa dali implementovať v hardvéri bez potreby mikrokódu ROM. LC-3 je jednoduchý mikroprocesor, čo uľahčuje jeho pochopenie a výučbu. LC-3 je tiež rýchly a dokáže spúšťať zložité programy.