CHIP8 je interpretovaný programovací jazyk , který vyvinul Joseph Weisbecker v sedmdesátých letech pro použití v RCA COSMAC VIP . Později byl použit v COSMAC ELF [1] , Telmac 1800 [2] , ETI 660 , DREAM 6800 . Jedenatřicet (35?) instrukcí poskytovalo možnost výstupu jednoduchého zvuku, monochromatické grafiky v rozlišení 64 x 32 pixelů a umožňovalo také použití 16 uživatelských tlačítek. Dnes se CHIP-8 často používá k výuce základních emulačních dovedností .(ne výklad). Interprety CHIP-8, často mylně nazývané „emulátory“, existují na stále se rozšiřující paletě platforem. Toto množství interpretů je způsobeno podobností konstrukce interpretu CHIP-8 a emulátoru systému . Ti, kteří chtějí porozumět emulátorům , často začínají psaním interpretu CHIP-8 .
Instrukce CHIP-8 byly uloženy přímo v paměti. Moderní počítače umožňují ukládat binární data, aniž byste je museli ručně zadávat do paměti. Specifikace COSMAC VIP předpokládá, že kód je načten do paměti s offsetem 512 bajtů (0x200). Většina her a programů v CHIP-8 předpokládá právě takový offset při práci s pamětí.
Je třeba poznamenat, že programy v paměti CHIP-8 jsou uloženy v Big-Endian , za předpokladu uložení MSB First (Most Significant Byte First – „nejvýznamnější“ bajt je uložen jako první). Instrukce jsou prováděny dva bajty za sebou, pokud nebyly žádné jiné instrukce.
Protože instrukce CHIP-8 obsahují ukazatele na data nebo instrukce v paměti, změna kódu by vyžadovala změnu adresy v instrukcích. Naštěstí pseudo-assembler tento problém řeší. Velké množství dokumentace CHIP-8 neobsahuje popisy některých instrukcí (8XY3, 8XY6, 8XY7 a 8XYE), ale budou zde popsány.
CHIP-8 Popisuje 12 buněčný hluboký zásobník . Neexistuje žádný přímý přístup k zásobníku (PUSH/POP/atd.), ale existují instrukce pro volání a návrat, které zásobník používají .