The PDP-6/10 instruction set may seem daunting at first, but it is actually very regular and easy to understand. You can even completely memorize it without too much effort if you understand how it works.
You can find a description of the PDP-6/10 instruction here for the PDP-6 (src), KA10 (src).
You can find tables of all PDP-6/10 instructions (and monitor UUOs) here for the PDP-6 (src), KA10 (src), KI10 (src), KL10 (src).
See this table for a description of the single bits of the PDP-6 instructions:
UUO 000 XXX XXX FSC 132 bytes 001 011 XXX XXX: 011 - IBP (CAO) 100 - ILDB (LDCI) 101 - LDB (LDC) 110 - IDPB (DPCI) 111 - DPB (DPC) floating point (FAD|FSB|FMP|FDV)R?[LMB]? 001 1XX YZZ XX: 00 - FAD 01 - FSB 10 - FMP 11 - FDV Y: round ZZ: 00 01 - (L) two ACs 10 - (M) memory 11 - (B) both full word MOV[ESNM][IMS]? 010 00X XYY XX: 00 - MOVE 01 - MOVS 10 - MOVN 11 - MOVM YY: 00 01 - (I) immediate 10 - (M) memory 11 - (S) self multiply/divide I?(MUL|DIV)[IMB]? 010 01X YZZ X: 0 - MUL 1 - DIV Y: 0 - (I-) one AC 1 - two ACs ZZ: 00 01 - (I) immediate 10 - (M) memory 11 - (B) both shifts (ASH|ROT|LSH)C? 010 100 XYY X: (C) combine two ACs YY: 00 - ASH 01 - ROT 10 - LSH 11 - unassigned misc 010 101 XXX XXX: 000 - EXCH 001 - BLT 010 - AOBJP 011 - AOBJN 100 - JRST 101 - JFCL 110 - XCT 111 - unassigned jump/push down 010 110 XXX XXX: 000 - PUSHJ 001 - PUSH 010 - POP 011 - POPJ 100 - JSR 101 - JSP 110 - JSA 111 - JRA add/subtract (ADD|SUB)[IMB]? 010 111 XYY X: 0 - ADD 1 - SUB YY: 00 01 - (I) immediate 10 - (M) memory 11 - (B) both jump/skip (CA[IM]|JUMP|SKIP|AO[JS]|SO[JS])(L|E|LE|A|GE|N|G)? 011 VVW XYZ VV: 00 - CAI/CAM (ACCP) 01 - JUMP/SKIP (MEMAC TST) 10 - AOJ/AOS (MEMAC + 1) 11 - SOJ/SOS (MEMAC - 1) W: 0 - (I) immediate / (J) AC-JUMP 1 - (M) memory / (S) MEM-SKIP X: negate condition YZ Y: skip/jump on = Z: skip/jump on < boolean (SETZ|AND|ANDCA|SETM|ANDCM|SETA|XOR|IOR| ANDCB|EQV|SETCA|ORCA|SETCM|ORCM|ORCB|SETO)[IMB]? 100 ABC DXX ABCD: truth table for AC and MEM M | 0 1 --+---- 0| A C A | 1| B D 0001 - AND / ORCB - 1110 0010 - ANDCA / ORCM - 1101 0100 - ANDCM / ORCA - 1011 0000 - SETZ / SETO - 1111 0011 - SETM / SETCM - 1100 0101 - SETA / SETCA - 1010 0110 - XOR / EQV - 1001 0111 - IOR / ANDCB - 1000 XX: 00 01 - (I) immediate 10 - (M) memory 11 - (B) both half word H[LR][LR][ZOE]?[IMS]? 101 WXX YZZ W: 0 - dest L 1 - dest R XX: 00 01 - (Z) zero other half 10 - (O) set other half to ones 11 - (E) sign extend other half Y: swap source halves ZZ: 00 01 - (I) immediate 10 - (M) memory 11 - (S) self logical test and modify T[RLDS][NZCO][EAN]? 110 UVW XYZ U: complement masked bits after V V: 0 - (N) do nothing with masked bits / (C) 1 - (Z) zero masked bits / (O) W: 0 - (R/L) immediate 1 - (D/S) memory X: negate condition Y Y: 0 - skip never / (A) 1 - (E) skip if zero / (N) Z: swap mask halves IO 111 XXX XXX XYY Y XXX XXX X: device code YYY: 000 - BLKI 001 - DATAI 010 - BLKO 011 - DATAO 100 - CONO 101 - CONI 110 - CONSZ 111 - CONSO