CHIP-8

A CHIP8 egy interpretált programozási nyelv , amelyet Joseph Weisbecker fejlesztett ki a hetvenes években az RCA COSMAC VIP -ben való használatra . Később a COSMAC ELF [1] , Telmac 1800 [2] , ETI 660 , DREAM 6800 készülékekben használták . Harmincegy (35?) utasítás egyszerű hangzást, monokróm grafikát adott 64 x 32 pixeles felbontásban, és 16 felhasználói gomb használatát is lehetővé tette. Manapság a CHIP-8-at gyakran használják az emuláció (nem az értelmezés) alapvető készségeinek megtanítására . A gyakran tévesen "emulátornak" nevezett CHIP-8 tolmácsok a platformok egyre bővülő választékán léteznek. A tolmácsok ilyen bősége a CHIP-8 tolmács és a rendszeremulátor felépítésének hasonlóságának köszönhető . Azok, akik meg akarják érteni az emulátorokat , gyakran kezdik egy CHIP-8 értelmező írásával .

Tárolási útmutató

A CHIP-8 utasításokat közvetlenül a memóriában tároltuk. A modern számítógépek lehetővé teszik a bináris adatok tárolását anélkül, hogy azokat kézzel kellene bevinni a memóriába. A COSMAC VIP specifikáció feltételezi, hogy a kód 512 bájt (0x200) eltolással kerül betöltésre a memóriába. A legtöbb CHIP-8 játék és program éppen ilyen eltolást feltételez, amikor memóriával dolgozik.

Meg kell jegyezni, hogy a CHIP-8 memóriában lévő programok Big-Endian formátumban vannak tárolva , feltételezve, hogy az MSB First tárolása (a legjelentősebb bájt először – a „legjelentősebb” bájt kerül tárolásra először). Az utasítások két bájttal egymás után kerülnek végrehajtásra, ha nincs más utasítás.

Mivel a CHIP-8 utasítások mutatókat tartalmaznak a memóriában lévő adatokra vagy utasításokra, a kód megváltoztatásához meg kell változtatni az utasításokban szereplő címet. Szerencsére a pszeudo-assembler megoldja ezt a problémát. A CHIP-8 dokumentáció nagy része nem tartalmaz néhány utasítás leírását (8XY3, 8XY6, 8XY7 és 8XYE), de itt leírjuk.

Stack

CHIP-8 Leír egy 12 cellás mély verem . Nincs közvetlen hozzáférés a veremhez (PUSH/POP/etc), de vannak hívási és visszaküldési utasítások, amelyek a veremet használják .

Jegyzetek

  1. COSMAC ELF  (angol)  // Wikipédia. — 2020-04-29.
  2. Telmac 1800   // Wikipédia . — 2021-01-02.