(c):void op_30_BMI(){ //TOCORRECT printf("BMI %x", opCode2); if(get_sign()){ cpu.reg_PC += opCode2; bytes = 0; }else bytes = 2;}
(c):void op_30_BMI(){ //TOCORRECT printf("BMI %x", opCode2); if(get_sign()) cpu.reg_PC += (signed char)opCode2; bytes = 2;}
(c):#define get_sign() (cpu.reg_P & 0x80)
(c):void op_30_BMI(){ //TOCORRECT printf("BMI %x", opCode2); if ( opCode2> 0x7f ) { cpu.reg_PC = (cpu.reg_PC - 255 + opCode2) & 0xffff; } else { cpu.reg_PC = (cpu.reg_PC + 1 + opCode2) & 0xffff; }}
(c): case 0x30 : /* BMI */ if ( nflag != 0 ) { bytebuffer= oric_mem[pc]; if ( bytebuffer > 0x7f ) { pc = (pc - 255 + bytebuffer) & 0xffff; } else { pc = (pc + 1 + bytebuffer) & 0xffff; } cycle = cycle + 3; } else { pc = (pc + 1) & 0xffff; cycle = cycle + 2; }