Mercurial > repos > blastem
comparison z80_to_x86.c @ 384:5500d1d1269e
Fix set/res when the operand is in memory
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 04 Jun 2013 22:30:49 -0700 |
parents | 91d28a868551 |
children | e45327305bb7 |
comparison
equal
deleted
inserted
replaced
383:72933100c55c | 384:5500d1d1269e |
---|---|
1226 size = SZ_W; | 1226 size = SZ_W; |
1227 bit = inst->immed + 8; | 1227 bit = inst->immed + 8; |
1228 } else { | 1228 } else { |
1229 size = SZ_B; | 1229 size = SZ_B; |
1230 bit = inst->immed; | 1230 bit = inst->immed; |
1231 dst = translate_z80_ea(inst, &src_op, dst, opts, READ, DONT_MODIFY); | 1231 dst = translate_z80_ea(inst, &src_op, dst, opts, READ, MODIFY); |
1232 } | 1232 } |
1233 if (inst->reg != Z80_USE_IMMED) { | 1233 if (inst->reg != Z80_USE_IMMED) { |
1234 dst = translate_z80_reg(inst, &dst_op, dst, opts); | 1234 dst = translate_z80_reg(inst, &dst_op, dst, opts); |
1235 } | 1235 } |
1236 if (inst->addr_mode != Z80_REG) { | 1236 if (inst->addr_mode != Z80_REG) { |
1268 size = SZ_W; | 1268 size = SZ_W; |
1269 bit = inst->immed + 8; | 1269 bit = inst->immed + 8; |
1270 } else { | 1270 } else { |
1271 size = SZ_B; | 1271 size = SZ_B; |
1272 bit = inst->immed; | 1272 bit = inst->immed; |
1273 dst = translate_z80_ea(inst, &src_op, dst, opts, READ, DONT_MODIFY); | 1273 dst = translate_z80_ea(inst, &src_op, dst, opts, READ, MODIFY); |
1274 } | 1274 } |
1275 if (inst->reg != Z80_USE_IMMED) { | 1275 if (inst->reg != Z80_USE_IMMED) { |
1276 dst = translate_z80_reg(inst, &dst_op, dst, opts); | 1276 dst = translate_z80_reg(inst, &dst_op, dst, opts); |
1277 } | 1277 } |
1278 if (inst->addr_mode != Z80_REG) { | 1278 if (inst->addr_mode != Z80_REG) { |