While I've not heard those exact terms, my guess would be that "code registers" are the registers that code you would write set. For example, on an Intel x86 platform, that would be the general purpose registers like the AX, BX, CX, etc. and EAX, EBX, ECX, etc. registers. These are registers that you can either use directly if you're writing assembly code, or that are used by the code generated by your compiler.
Meanwhile, the computer also has a set of registers for its own use. Things like the program counter (or instruction pointer) register which points to the next instruction to execute in memory. They can also indicate statuses; things like carry registers that indicate whether there was a carry out of an addition between 2 other registers. (For example if you add 1 to MAX_INT, you'll generate a 1-bit carry that the registers can't hold.)
Each processor is different. The 6502 had 2 registers (labeled X and Y) and an accumulator as general purpose (or code) registers. Then it has one status register that held 7 bits of status flags, a stack pointer, and a program counter, which would be "state registers".