comparison m68k_to_x86.c @ 129:691e4b147cea

Fix swap
author Mike Pavone <pavone@retrodev.com>
date Sat, 29 Dec 2012 23:40:30 -0800
parents fe598ffd85ce
children 0969d8363a20
comparison
equal deleted inserted replaced
128:fe598ffd85ce 129:691e4b147cea
2562 //case M68K_SUBX: 2562 //case M68K_SUBX:
2563 // break; 2563 // break;
2564 case M68K_SWAP: 2564 case M68K_SWAP:
2565 dst = cycles(dst, BUS); 2565 dst = cycles(dst, BUS);
2566 if (src_op.mode == MODE_REG_DIRECT) { 2566 if (src_op.mode == MODE_REG_DIRECT) {
2567 dst = rol_ir(dst, 16, src_op.base, inst->extra.size); 2567 dst = rol_ir(dst, 16, src_op.base, SZ_D);
2568 } else{ 2568 } else{
2569 dst = rol_irdisp8(dst, 16, src_op.base, src_op.disp, inst->extra.size); 2569 dst = rol_irdisp8(dst, 16, src_op.base, src_op.disp, SZ_D);
2570 } 2570 }
2571 dst = mov_ir(dst, 0, FLAG_C, SZ_B); 2571 dst = mov_ir(dst, 0, FLAG_C, SZ_B);
2572 dst = setcc_r(dst, CC_Z, FLAG_Z); 2572 dst = setcc_r(dst, CC_Z, FLAG_Z);
2573 dst = setcc_r(dst, CC_S, FLAG_N); 2573 dst = setcc_r(dst, CC_S, FLAG_N);
2574 dst = mov_ir(dst, 0, FLAG_V, SZ_B); 2574 dst = mov_ir(dst, 0, FLAG_V, SZ_B);