These data statements define most moves. The format is up/down/left/right, and the
numbers indicate the number of squares that can be moved. Castling and en passant
have to be handled special. Pretty simple, eh?
DATA R,8000,0800,0080,0008,0000,0000,0000,0000
DATA N,2010,2001,0210,0201,1020,1002,0120,0102
DATA B,8080,8008,0880,0808,0000,0000,0000,0000
DATA Q,8000,0800,0080,0008,8080,8008,0880,0808
DATA K,1000,0100,0010,0001,1010,1001,0110,0101
DATA P,1000,1001,1010,0000,0000,0000,0000,0000