public void handler() {
            int disp = (int) ((byte) FETCH());
            /*unsigned*/ int tmp = (I.regs.w[CW] - 1);
            I.regs.SetW(CW, tmp & 0xFFFF);
            if (tmp != 0) {
                nec_ICount[0] -= 13;
                I.ip = (I.ip + disp) & 0xFFFF;
                change_pc20((I.base[CS] + I.ip));
            } else {
                nec_ICount[0] -= 5;
            }
            /*if (neclog != null) {
             fprintf(neclog, "i_loop :PC:%d,I.ip:%d,AW:%d,CW:%d,DW:%d,BW:%d,SP:%d,BP:%d,IX:%d,IY:%d,b1:%d,b2:%d,b3:%d,b4:%d,s1:%d,s2:%d,s3:%d,s4:%d,A:%d,O:%d,S:%d,Z:%d,C:%d,P:%d,T:%d,I:%d,D:%d,M:%d,v:%d,irq:%d,ns:%d,is:%d,pb:%d,pre:%d,EA:%d\n", cpu_get_pc(), I.ip,I.regs.w[AW],I.regs.w[CW],I.regs.w[DW],I.regs.w[BW],I.regs.w[SP],I.regs.w[BP],I.regs.w[IX],I.regs.w[IY],I.base[0],I.base[1],I.base[2],I.base[3],I.sregs[0],I.sregs[1],I.sregs[2],I.sregs[3],I.AuxVal, I.OverVal, I.SignVal, I.ZeroVal, I.CarryVal, I.ParityVal,I.TF, I.IF, I.DF, I.MF,I.int_vector,I.pending_irq,I.nmi_state,I.irq_state,I.prefix_base,I.seg_prefix,EA);
             }*/
        }