List
code instruction description CHIP8 CHIP48 SCHIP10 SCHIP11
00CN SCD Nibble Scroll screen Nibble lines down CHIP8FN_(00CN,"SCD Nibble")
00E0 CLS Clear display CHIP8FN_(00E0,"CLS")
00EE RET Return from subroutine (16 levels) CHIP8FN_(00EE,"RET")
00FB SCR Scroll screen 4 pixels right CHIP8FN_(00FB,"SCR") This, a 4 pixels left or right scrolling in SCHIP graphic mode will be interpreted as a TWO PIXELS scroll in CHIP-8 mode.
00FC SCL Scroll screen 4 pixels left CHIP8FN_(00FC,"SCL") This, a 4 pixels left or right scrolling in SCHIP graphic mode will be interpreted as a TWO PIXELS scroll in CHIP-8 mode.
00FD EXIT Terminate the interpreter CHIP8FN_(00FD,"EXIT")
00FE LOW Disable extended screen mode CHIP8FN_(00FE,"LOW")
00FF HIGH Enable extended screen mode CHIP8FN_(00FF,"HIGH")
0NNN SYS Addr Call CDP1802 code at Addr CHIP8FN_(0NNN,"SYS Addr")
1NNN JP Addr Jump to Addr CHIP8FN_(1NNN,"JP Addr")
2NNN CALL Addr Call subroutine at Addr (16 levels) CHIP8FN_(2NNN,"CALL Addr")
3XKK SE VX,Byte Skip next instruction if VX == Byte CHIP8FN_(3XKK,"SE VX,Byte")
4XKK SNE VX,Byte Skip next instruction if VX != Byte CHIP8FN_(4XKK,"SNE VX,Byte")
5XY0 SE VX,VY Skip next instruction if VX == VY CHIP8FN_(5XY0,"SE VX,VY")
6XKK LD VX,Byte Set VX = Byte CHIP8FN_(6XKK,"LD VX,Byte")
7XKK ADD VX,Byte Set VX = VX + Byte CHIP8FN_(7XKK,"ADD VX,Byte")
8XY0 LD VX,VY Set VX = VY, VF updates CHIP8FN_(8XY0,"LD VX,VY")
8XY1 OR VX,VY Set VX = VX | VY, VF updates CHIP8FN_(8XY1,"OR VX,VY")
8XY2 AND VX,VY Set VX = VX & VY, VF updates CHIP8FN_(8XY2,"AND VX,VY")
8XY3 XOR VX,VY Set VX = VX ^ VY, VF updates CHIP8FN_(8XY3,"XOR VX,VY")
8XY4 ADD VX,VY Set VX = VX + VY, VF = carry CHIP8FN_(8XY4,"ADD VX,VY")
8XY5 SUB VX,VY Set VX = VX - VY, VF = !borrow CHIP8FN_(8XY5,"SUB VX,VY")
8XY6 SHR VX{,VY} Set VX = VX >> 1, VF = carry CHIP8FN_(8XY6,"SHR VX{,VY}")
8XY7 SUBN VX,VY Set VX = VY - VX, VF = !borrow CHIP8FN_(8XY7,"SUBN VX,VY")
8XYE SHL VX{,VY} Set VX = VX << 1, VF = carry CHIP8FN_(8XYE,"SHL VX{,VY}")
9XY0 SNE VX,VY Skip next instruction if VX != VY CHIP8FN_(9XY0,"SNE VX,VY")
ANNN LD I,Addr Set I = Addr CHIP8FN_(ANNN,"LD I,Addr")
BNNN JP V0,Addr Jump to Addr + V0 CHIP8FN_(BNNN,"JP V0,Addr")
CXKK RND VX,Byte Set VX = random & Byte CHIP8FN_(CXKK,"RND VX,Byte")
DXY0 DRW VX,VY,0 Draw extended sprite stored at [I] at VX, VY. Set VF = collision CHIP8FN_(DXY0,"DRW VX,VY,0") Drawing the 16 x 16 pixels SCHIP sprite in CHIP-8 mode will display an 8 x 16 sprite.
DXYN DRW VX,VY,Nibble Draw Nibble byte sprite stored at [I] at VX, VY. Set VF = collision CHIP8FN_(DXYN,"DRW VX,VY,Nibble")
EX9E SKP VX Skip next instruction if key VX down CHIP8FN_(EX9E,"SKP VX")
EXA1 SKNP VX Skip next instruction if key VX up CHIP8FN_(EXA1,"SKNP VX")
FX07 LD VX,DT Set VX = delaytimer CHIP8FN_(FX07,"LD VX,DT")
FX0A LD VX,K Set VX = key, wait for keypress CHIP8FN_(FX0A,"LD VX,K")
FX15 LD DT,VX Set delaytimer = VX CHIP8FN_(FX15,"LD DT,VX")
FX18 LD ST,VX Set soundtimer = VX CHIP8FN_(FX18,"LD ST,VX")
FX1E ADD I,VX Set I = I + VX CHIP8FN_(FX1E,"ADD I,VX")
(FX29) LD F,VX Point I to 5 byte numeric sprite for value in VX
FX29 LD LF,VX Point I to 5 byte numeric sprite for value in VX CHIP8FN_(FX29,"LD LF,VX")
FX30 LD HF,VX Point I to 10 byte numeric sprite for value in VX CHIP8FN_(FX30,"LD HF,VX")
FX33 LD B,VX Store BCD of VX in [I], [I+1], [I+2] CHIP8FN_(FX33,"LD B,VX")
FX55 LD [I],VX Store V0 .. VX in [I] .. [I+X] CHIP8FN_(FX55,"LD [I],VX")
FX65 LD VX,[I] Read V0 .. VX from [I] .. [I+X] CHIP8FN_(FX65,"LD VX,[I]")
FX75 LD R,VX Store V0 .. VX in RPL user flags. Only V0 .. V7 valid CHIP8FN_(FX75,"LD R,VX")
FX85 LD VX,R Read V0 .. VX from RPL user flags. Only V0 .. V7 valid CHIP8FN_(FX85,"LD VX,R")