P2 Opcode matrix

xxxx000 xxxx001 xxxx010 xxxx011 xxxx100 xxxx101 xxxx110 xxxx111
0000xxx NOP/​ROR ROL SHR SHL RCR RCL SAR SAL
0001xxx ADD ADDX ADDS ADDSX SUB SUBX SUBS SUBSX
0010xxx CMP CMPX CMPS CMPSX CMPR CMPM SUBR CMPSUB
0011xxx FGE FLE FGES FLES SUMC SUMNC SUMZ SUMNZ
0100xxx TESTB/​BITL TESTBN/​BITH TESTB/​BITC TESTBN/​BITNC TESTB/​BITZ TESTBN/​BITNZ TESTB/​BITRND TESTBN/​BITNOT
0101xxx AND ANDN OR XOR MUXC MUXNC MUXZ MUXNZ
0110xxx MOV NOT ABS NEG NEGC NEGNC NEGZ NEGNZ
0111xxx INCMOD DECMOD ZEROX SIGNX ENCOD ONES TEST TESTN
1000xxx SETNIB GETNIB ROLNIB SETBYTE GETBYTE
1001xxx ROLBYTE SETWORD/​GETWORD ROLWORD/​ALTSN/​ALTGN ALTSB/​ALTGB/​ALTSW/​ALTGW ALTR/​ALTD/​ALTS/​ALTB ALTI/​SETR/​SETD/​SETS DECOD/​BMASK/​CRCBIT/​CRCNIB MUXNITS/​MUXNIBS/​MUXQ/​MOVBYTS
1010xxx MUL/​MULS SCA/​SCAS ADDPIX/​MULPIX/​BLNPIX/​MIXPIX ADDCT1/​ADDCT2/​ADDCT3/​WMLONG RQPIN/​RDPIN RDLUT RDBYTE RDWORD
1011xxx RDLONG/​POPA/​POPB CALLD/​RESI3/​RESI2/​RESI1/​RESI0/​RETI3/​RETI2/​RETI1/​RETI0 CALLPA/​CALLPB DJZ/​DJNZ/​DJF/​DJNF IJZ/​IJNZ/​TJZ/​TJNZ TJF/​TJNF/​TJS/​TJNS TJV/​JINT/​JCT1/​JCT2/​JCT3/​JSE1/​JSE2/​JSE3/​JSE4/​JPAT/​JFBW/​JXMT/​JXFI/​JXRO/​JXRL/​JATN/​JQMT/​JNINT/​JNCT1/​JNCT2/​JNCT3/​JNSE1/​JNSE2/​JNSE3/​JNSE4/​JNPAT/​JNFBW/​JNXMT/​JNXFI/​JNXRO/​JNXRL/​JNATN/​JNQMT/​<empty> <empty>/​SETPAT
1100xxx AKPIN/​WRPIN/​WXPIN WYPIN/​WRLUT WRBYTE/​WRWORD WRLONG/​PUSHA/​PUSHB/​RDFAST WRFAST/​FBLOCK XINIT/​XSTOP/​XZERO XCONT/​REP COGINIT
1101xxx QMUL/​QDIV QFRAC/​QSQRT QROTATE/​QVECTOR 1101011 Sub-Opcodes JMP CALL CALLA CALLB
1110xxx CALLD (PA) CALLD (PB) CALLD (PTRA) CALLD (PTRB) LOC (PA) LOC (PB) LOC (PTRA) LOC (PTRB)
1111xxx AUGS AUGD

1101011 Sub-Opcodes

For opcode 1101011, the S field of the instruction (bits 8:0) is the sub-opcode.

xxxxx000 xxxxx001 xxxxx010 xxxxx011 xxxxx100 xxxxx101 xxxxx110 xxxxx111
00000xxx HUBSET COGID COGSTOP LOCKNEW LOCKRET LOCKTRY LOCKREL
00001xxx QLOG QEXP
00010xxx RFBYTE RFWORD RFLONG RFVAR RFVARS WFBYTE WFWORD WFLONG
00011xxx GETQX GETQY GETCT GETRND SETDACS SETXFRQ GETXACC WAITX
00100xxx SETSE1 SETSE2 SETSE3 SETSE4 POLLINT/​POLLCT1/​POLLCT2/​POLLCT3/​POLLSE1/​POLLSE2/​POLLSE3/​POLLSE4/​POLLPAT/​POLLFBW/​POLLXMT/​POLLXFI/​POLLXRO/​POLLXRL/​POLLATN/​POLLQMT/​WAITINT/​WAITCT1/​WAITCT2/​WAITCT3/​WAITSE1/​WAITSE2/​WAITSE3/​WAITSE4/​WAITPAT/​WAITFBW/​WAITXMT/​WAITXFI/​WAITXRO/​WAITXRL/​WAITATN/​ALLOWI/​STALLI/​TRGINT1/​TRGINT2/​TRGINT3/​NIXINT1/​NIXINT2/​NIXINT3 SETINT1 SETINT2 SETINT3
00101xxx SETQ SETQ2 PUSH POP JMP CALL/​RET CALLA/​RETA CALLB/​RETB
00110xxx JMPREL SKIP SKIPF EXECF GETPTR GETBRK/​COGBRK BRK SETLUTS
00111xxx SETCY SETCI SETCQ SETCFRQ SETCMOD SETPIV SETPIX COGATN
01000xxx TESTP/​DIRL TESTPN/​DIRH TESTP/​DIRC TESTPN/​DIRNC TESTP/​DIRZ TESTPN/​DIRNZ TESTP/​DIRRND TESTPN/​DIRNOT
01001xxx OUTL OUTH OUTC OUTNC OUTZ OUTNZ OUTRND OUTNOT
01010xxx FLTL FLTH FLTC FLTNC FLTZ FLTNZ FLTRND FLTNOT
01011xxx DRVL DRVH DRVC DRVNC DRVZ DRVNZ DRVRND DRVNOT
01100xxx SPLITB MERGEB SPLITW MERGEW SEUSSF SEUSSR RGBSQZ RGBEXP
01101xxx XORO32 REV RCZR RCZL WRC WRNC WRZ WRNZ/​MODCZ/​MODC/​MODZ
01110xxx SETSCP GETSCP
01111xxx
10000xxx
10001xxx
10010xxx
10011xxx
10100xxx
10101xxx
10110xxx
10111xxx
11000xxx
11001xxx
11010xxx
11011xxx
11100xxx
11101xxx
11110xxx
11111xxx