Das Cog RAM ist der Speicher, den jeder Cog für sich alleine hat. Es besteht auf 496 x 32 Bits der für Code und Daten verwendet werden kann. Ferner befinden sich noch 16 spezial Register im RAM. Der USER Speicherbereich geht von $000 bis $1EF und die Spezialregister gehen von $1F0 bis $1FF. Die meisten Befehle beeinflussen alle 32 Bits einer Adresse. Eine Ausnahme stellen Code selbstmodifizierende Befehle wie MOVS, MOVD, MOVI und der CALL sowie JMPRET dar.
- MOVS beeinflusst die unteren 9 Bits (B8 bis B0) einer Cog Speicheradresse ohne die anderen Bits zu verändern
- MOVD macht das selbe mit den nächsten 9 Bits (B17 bis B9) ohne die anderen Bits zu verändern
- MOVI verändert nur die MSB (Most Significant Bits) B31-B23
- CALL und JMPRET beeinflussen ebenfalls die unteren 9 Bits (B8 bis B0) des RET Befehls um die Rückkehr aus einer Assembler Subroutine zu vereinfachen
| B31 – B23 | B22 – B18 | B17 – B9 | B8 – B0 |
| Befehl | Ziel | Quelle | |
| MOVI | MOVD | MOVS, CALL, or JMPRET |
Spezial Register
Addr. |
Name |
Typ |
Funktion |
| $1F0 | PAR | Read-Only | Boot parameter |
| $1F1 | CNT | Read-Only | System Counter |
| $1F2 | INA | Read-Only | Input states for P31-P0 |
| $1F3 | INB | Read-Only | Input states for P63-P32* |
| $1F4 | OUTA | Read/Write | Output States for P31-P0 |
| $1F5 | OUTB | Read/Write | Output states for P63-P32* |
| $1F6 | DIRA | Read/Write | Direction States for P31-P0 |
| $1F7 | DIRB | Read/Write | Direction States for P63-P32* |
| $1F8 | CTRA | Read/Write | Counter A Control |
| $1F9 | CTRB | Read/Write | Counter B Control |
| $1FA | FRQA | Read/Write | Counter A Frequency |
| $1FB | FRQB | Read/Write | Counter B Frequency |
| $1FC | PHSA | Read/Write | Counter A Phase |
| $1FD | PHSB | Read/Write | Counter B Phase |
| $1FE | VCFG | Read/Write | Video Configuration |
| $1FF | VSCL | Read/Write | Video Scale |
* nicht vorhanden im P8X32 Propeller Chip

