Z80.cの中の該当する配列を設定しなおしました。
static char *MnemonicsXCB[256] = { "LD B,RLC (I%@h)","LD C,RLC (I%@h)","LD D,RLC (I%@h)","LD E,RLC (I%@h)","LD H,RLC (I%@h)","LD L,RLC (I%@h)","RLC (I%@h)","LD A,RLC (I%@h)", // 00 "LD B,RRC (I%@h)","LD C,RRC (I%@h)","LD D,RRC (I%@h)","LD E,RRC (I%@h)","LD H,RRC (I%@h)","LD L,RRC (I%@h)","RRC (I%@h)","LD A,RRC (I%@h)", "LD B,RL (I%@h) ","LD C,RL (I%@h) ","LD D,RL (I%@h) ","LD E,RL (I%@h) ","LD H,RL (I%@h) ","LD L,RL (I%@h) ","RL (I%@h)","LD A,RL (I%@h) ", // 10 "LD B,RR (I%@h) ","LD C,RR (I%@h) ","LD D,RR (I%@h) ","LD E,RR (I%@h) ","LD H,RR (I%@h) ","LD L,RR (I%@h) ","RR (I%@h)","LD A,RR (I%@h) ", "LD B,SLA (I%@h)","LD C,SLA (I%@h)","LD D,SLA (I%@h)","LD E,SLA (I%@h)","LD H,SLA (I%@h)","LD L,SLA (I%@h)","SLA (I%@h)","LD A,SLA (I%@h)", // 20 "LD B,SRA (I%@h)","LD C,SRA (I%@h)","LD D,SRA (I%@h)","LD E,SRA (I%@h)","LD H,SRA (I%@h)","LD L,SRA (I%@h)","SRA (I%@h)","LD A,SRA (I%@h)", "LD B,SLL (I%@h)","LD C,SLL (I%@h)","LD D,SLL (I%@h)","LD E,SLL (I%@h)","LD H,SLL (I%@h)","LD L,SLL (I%@h)","SLL (I%@h)","LD A,SLL (I%@h)", // 30 "LD B,SRL (I%@h)","LD C,SRL (I%@h)","LD D,SRL (I%@h)","LD E,SRL (I%@h)","LD H,SRL (I%@h)","LD L,SRL (I%@h)","SRL (I%@h)","LD A,SRL (I%@h)", "BIT 0,(I%@h)","BIT 0,(I%@h)","BIT 0,(I%@h)","BIT 0,(I%@h)","BIT 0,(I%@h)","BIT 0,(I%@h)","BIT 0,(I%@h)","BIT 0,(I%@h)", // 40 "BIT 1,(I%@h)","BIT 1,(I%@h)","BIT 1,(I%@h)","BIT 1,(I%@h)","BIT 1,(I%@h)","BIT 1,(I%@h)","BIT 1,(I%@h)","BIT 1,(I%@h)", "BIT 2,(I%@h)","BIT 2,(I%@h)","BIT 2,(I%@h)","BIT 2,(I%@h)","BIT 2,(I%@h)","BIT 2,(I%@h)","BIT 2,(I%@h)","BIT 2,(I%@h)", // 50 "BIT 3,(I%@h)","BIT 3,(I%@h)","BIT 3,(I%@h)","BIT 3,(I%@h)","BIT 3,(I%@h)","BIT 3,(I%@h)","BIT 3,(I%@h)","BIT 3,(I%@h)", "BIT 4,(I%@h)","BIT 4,(I%@h)","BIT 4,(I%@h)","BIT 4,(I%@h)","BIT 4,(I%@h)","BIT 4,(I%@h)","BIT 4,(I%@h)","BIT 4,(I%@h)", // 60 "BIT 5,(I%@h)","BIT 5,(I%@h)","BIT 5,(I%@h)","BIT 5,(I%@h)","BIT 5,(I%@h)","BIT 5,(I%@h)","BIT 5,(I%@h)","BIT 5,(I%@h)", "BIT 6,(I%@h)","BIT 6,(I%@h)","BIT 6,(I%@h)","BIT 6,(I%@h)","BIT 6,(I%@h)","BIT 6,(I%@h)","BIT 6,(I%@h)","BIT 6,(I%@h)", // 70 "BIT 7,(I%@h)","BIT 7,(I%@h)","BIT 7,(I%@h)","BIT 7,(I%@h)","BIT 7,(I%@h)","BIT 7,(I%@h)","BIT 7,(I%@h)","BIT 7,(I%@h)", "LD B,RES 0,(I%@h)","LD C,RES 0,(I%@h)","LD D,RES 0,(I%@h)","LD E,RES 0,(I%@h)","LD H,RES 0,(I%@h)","LD L,RES 0,(I%@h)","RES 0,(I%@h)","LD A,RES 0,(I%@h)", // 80 "LD B,RES 1,(I%@h)","LD C,RES 1,(I%@h)","LD D,RES 1,(I%@h)","LD E,RES 1,(I%@h)","LD H,RES 1,(I%@h)","LD L,RES 1,(I%@h)","RES 1,(I%@h)","LD A,RES 1,(I%@h)", "LD B,RES 2,(I%@h)","LD C,RES 2,(I%@h)","LD D,RES 2,(I%@h)","LD E,RES 2,(I%@h)","LD H,RES 2,(I%@h)","LD L,RES 2,(I%@h)","RES 2,(I%@h)","LD A,RES 2,(I%@h)", // 90 "LD B,RES 3,(I%@h)","LD C,RES 3,(I%@h)","LD D,RES 3,(I%@h)","LD E,RES 3,(I%@h)","LD H,RES 3,(I%@h)","LD L,RES 3,(I%@h)","RES 3,(I%@h)","LD A,RES 3,(I%@h)", "LD B,RES 4,(I%@h)","LD C,RES 4,(I%@h)","LD D,RES 4,(I%@h)","LD E,RES 4,(I%@h)","LD H,RES 4,(I%@h)","LD L,RES 4,(I%@h)","RES 4,(I%@h)","LD A,RES 4,(I%@h)", // A0 "LD B,RES 5,(I%@h)","LD C,RES 5,(I%@h)","LD D,RES 5,(I%@h)","LD E,RES 5,(I%@h)","LD H,RES 5,(I%@h)","LD L,RES 5,(I%@h)","RES 5,(I%@h)","LD A,RES 5,(I%@h)", "LD B,RES 6,(I%@h)","LD C,RES 6,(I%@h)","LD D,RES 6,(I%@h)","LD E,RES 6,(I%@h)","LD H,RES 6,(I%@h)","LD L,RES 6,(I%@h)","RES 6,(I%@h)","LD A,RES 6,(I%@h)", // B0 "LD B,RES 7,(I%@h)","LD C,RES 7,(I%@h)","LD D,RES 7,(I%@h)","LD E,RES 7,(I%@h)","LD H,RES 7,(I%@h)","LD L,RES 7,(I%@h)","RES 7,(I%@h)","LD A,RES 7,(I%@h)", "LD B,SET 0,(I%@h)","LD C,SET 0,(I%@h)","LD D,SET 0,(I%@h)","LD E,SET 0,(I%@h)","LD H,SET 0,(I%@h)","LD L,SET 0,(I%@h)","SET 0,(I%@h)","LD A,SET 0,(I%@h)", // C0 "LD B,SET 1,(I%@h)","LD C,SET 1,(I%@h)","LD D,SET 1,(I%@h)","LD E,SET 1,(I%@h)","LD H,SET 1,(I%@h)","LD L,SET 1,(I%@h)","SET 1,(I%@h)","LD A,SET 1,(I%@h)", "LD B,SET 2,(I%@h)","LD C,SET 2,(I%@h)","LD D,SET 2,(I%@h)","LD E,SET 2,(I%@h)","LD H,SET 2,(I%@h)","LD L,SET 2,(I%@h)","SET 2,(I%@h)","LD A,SET 2,(I%@h)", // D0 "LD B,SET 3,(I%@h)","LD C,SET 3,(I%@h)","LD D,SET 3,(I%@h)","LD E,SET 3,(I%@h)","LD H,SET 3,(I%@h)","LD L,SET 3,(I%@h)","SET 3,(I%@h)","LD A,SET 3,(I%@h)", "LD B,SET 4,(I%@h)","LD C,SET 4,(I%@h)","LD D,SET 4,(I%@h)","LD E,SET 4,(I%@h)","LD H,SET 4,(I%@h)","LD L,SET 4,(I%@h)","SET 4,(I%@h)","LD A,SET 4,(I%@h)", // E0 "LD B,SET 5,(I%@h)","LD C,SET 5,(I%@h)","LD D,SET 5,(I%@h)","LD E,SET 5,(I%@h)","LD H,SET 5,(I%@h)","LD L,SET 5,(I%@h)","SET 5,(I%@h)","LD A,SET 5,(I%@h)", "LD B,SET 6,(I%@h)","LD C,SET 6,(I%@h)","LD D,SET 6,(I%@h)","LD E,SET 6,(I%@h)","LD H,SET 6,(I%@h)","LD L,SET 6,(I%@h)","SET 6,(I%@h)","LD A,SET 6,(I%@h)", // F0 "LD B,SET 7,(I%@h)","LD C,SET 7,(I%@h)","LD D,SET 7,(I%@h)","LD E,SET 7,(I%@h)","LD H,SET 7,(I%@h)","LD L,SET 7,(I%@h)","SET 7,(I%@h)","LD A,SET 7,(I%@h)", };
だから、長いって。。(汗)
ちなみに、ビット演算したあとに、指定したレジスタにロードするという特殊な命令。。
なかなか、使わないと思うのですが。。(^^;;
どうなんでしょうか?
あと、BIT命令ですが、下1桁0−8 どれでも同じ命令なんですね。。
ところで、iP6 の場合、DDまたは、FDで始まる命令で、定義されてない命令の場合、頭のDDまたは、FDを無視するようですね。。
それとも、Z80なら、当然の動作?
まぁ、DD CBに関しては、未定義命令で、全部埋まっているけどね。。(^^;;