Mercurial > repos > blastem
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); |