Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
homecomputer:chip8 [2014/06/23 11:30] – [CHIP-8] volkerp | homecomputer:chip8 [2021/02/22 09:25] – [Z9001] volkerp | ||
---|---|---|---|
Zeile 133: | Zeile 133: | ||
* x und y: 4-Bit-Register | * x und y: 4-Bit-Register | ||
- | ^ Hex ^ Symbolisch ^ Beschreibung ^ | + | ^ Hex |
- | | 1mmm | GO mmm | Go to 0MMM | | + | | 1mmm | GO mmm | JP addr | Go to 0MMM |
- | | Bmmm | GO mmm+V0 | Go to 0MMM + V0 | | + | | Bmmm | GO mmm+V0 |
- | | 2mmm | DO mmm | Do subroutine at 0MMM (must end with 00EE) | | + | | 2mmm | DO mmm | CALL addr | Do subroutine at 0MMM (must end with 00EE) |
- | | 00EE | RET | Return from subroutine | | + | | 00EE | RET | RET | Return from subroutine |
- | | 3xkk | SKIP;Vx EQ kk | Skip next instruction if VX = KK | | + | | 3xkk | SKIP;Vx EQ kk | SE Vx, byte | Skip next instruction if VX = KK |
- | | 4xkk | SKIP;Vx NE kk | Skip next instruction if VX <> KK | | + | | 4xkk | SKIP;Vx NE kk | SNE Vx, byte |
- | | 5xy0 | SKIP;Vx EQ Vy | Skip next instruction if VX = VY | | + | | 5xy0 | SKIP;Vx EQ Vy | SE Vx, Vy | Skip next instruction if VX = VY |
- | | 9xy0 | SKIP;Vx NE Vy | Skip next instruction if VX <> VY | | + | | 9xy0 | SKIP;Vx NE Vy | SNE Vx, Vy |
- | | Ex9E | SKIP;Vx EQ KEY | Skip next instruction if VX = Hex key (LSD) | | + | | Ex9E | SKIP;Vx EQ KEY | SKP Vx |
- | | ExA1 | SKIP;Vx NE KEY | Skip next instruction if VX <> Hex key (LSD) | | + | | ExA1 | SKIP;Vx NE KEY | SKNP Vx | Skip next instruction if VX <> Hex key (LSD) |
- | | 6xkk | Vx=kk | Let VX = KK | | + | | 6xkk | Vx=kk | LD Vx, byte | Let VX = KK | |
- | | Cxkk | Vx=RND | Let VX = Random Byte (KK = Mask) | | + | | Cxkk | Vx=RND |
- | | 7xkk | Vx=Vx+kk | Let VX = VX + KK | | + | | 7xkk | Vx=Vx+kk |
- | | 8xy0 | Vx=Vy | Let VX = VY | | + | | 8xy0 | Vx=Vy | LD Vx, Vy | Let VX = VY | |
- | | 8xy1 | Vx=Vx/Vy | Let VX = VX / VY (VF changed) | | + | | 8xy1 | Vx=Vx/ |
- | | 8xy2 | Vx=Vx& | + | | 8xy2 | Vx=Vx& |
- | | 8xy4 | Vx=Vx+Vy | Let VX = VX + VY (VF = 00 if VX + VY <= FF, VF = 01 if VX + VY > FF) | | + | | 8xy4 | Vx=Vx+Vy |
- | | 8xy5 | Vx=Vx-Vy | Let VX = VX - VY (VF = 00 if VX < VY, VF = 01 if VX >= VY) | | + | | 8xy5 | Vx=Vx-Vy |
- | | Fx07 | Vx=TIME | Let VX = current timer value | | + | | Fx07 | Vx=TIME |
- | | Fx0A | Vx=KEY | Let VX = hex key digit (waits for any key pressed) | | + | | Fx0A | Vx=KEY |
- | | Fx15| TIME=Vx | Set timer = VX (01 = 1/60 second) | | + | | Fx15 | TIME=Vx |
- | | Fx18 | SND=Vx | Set tone duration = VX (01 = 1/60 second) | | + | | Fx18 | SND=Vx |
- | | Ammm | I=mmm | Let I = 0MMM | | + | | Ammm | I=mmm | LD I, addr |
- | | Fx1E | I=I+Vx | Let I = I + VX | | + | | Fx1E | I=I+Vx |
- | | Fx29 | I=Vx(LSDP) | Let I = 5-byte display pattern for LSD of VX | | + | | Fx29 | I=Vx(LSDP) |
- | | Fx33 | MI=Vx(3DD) | Let MI = 3-decimal digit equivalent of VX (I unchanged) | | + | | Fx33 | MI=Vx(3DD) |
- | | Fx55 | MI=V0:Vx | Let MI = V0 : VX (I = I + X + 1) | | + | | Fx55 | MI=V0: |
- | | Fx65 | V0:Vx=MI | Let V0 : VX = MI (I = I + X + 1) | | + | | Fx65 | V0: |
- | | 00E0 | ERASE | Erase display (all 0's) | | + | | 00E0 | ERASE | CLS | Erase display (all 0' |
- | | DxyN | SHOW nMI@VxVy | Show n-byte MI pattern at VX-VY coordinates.\\ I unchanged. MI pattern is combined with existing display via EXCLUSIVE-OR function.\\ VF = 01 if a 1 in MI pattern matches 1 in existing display. | | + | | DxyN | SHOW nMI@VxVy |
- | | 0mmm | MLS@mmm | Do 1802 machine language subroutine at 0MMM (subroutine must end with D4 byte) | | + | | 0mmm | MLS@mmm |
+ | Die Assemblerbezeichungen entsprechen http:// | ||
==== Beispiel: Panzer ==== | ==== Beispiel: Panzer ==== | ||
Zeile 245: | Zeile 246: | ||
* Listenpunkt | * Listenpunkt | ||
+ | |||
+ | EMMA 02 emuliert den COSMAC VIP | ||
+ | |||
+ | VISION8 ist ein CHIP-8-Emulator | ||
+ | |||
+ | CHIPPER V2.11 ist ein Assembler für Chip-8. | ||
===== Z9001 ===== | ===== Z9001 ===== | ||
- | Beim [[sonstiges: | + | Beim [[sonstiges: |
{{: | {{: | ||