| 2211 | void OPCALL movsw32_r_op(struct CPU* cpu, struct Op* op); |
| 2212 | void OPCALL movsw32_op(struct CPU* cpu, struct Op* op); |
| 2213 | void gen0a5(struct GenData* data, struct Op* op) { |
| 2214 | if (op->func==movsw16_r_op) { |
| 2215 | out(data, "movsw16_r(cpu, "); |
| 2216 | out(data, getBase(op->base)); |
| 2217 | out(data, ");"); |
| 2218 | } else if (op->func==movsw16_op) { |
| 2219 | out(data, "writew(cpu->thread, cpu->segAddress[ES]+DI, readw(cpu->thread, cpu->segAddress["); |
| 2220 | out(data, getBase(op->base)); |
| 2221 | out(data, "]+SI)); DI+=cpu->df<<1; SI+=cpu->df<<1; CYCLES(4);"); |
| 2222 | } else if (op->func==movsw32_r_op) { |
| 2223 | out(data, "movsw32_r(cpu, "); |
| 2224 | out(data, getBase(op->base)); |
| 2225 | out(data, ");"); |
| 2226 | } else if (op->func==movsw32_op) { |
| 2227 | out(data, "writew(cpu->thread, cpu->segAddress[ES]+EDI, readw(cpu->thread, cpu->segAddress["); |
| 2228 | out(data, getBase(op->base)); |
| 2229 | out(data, "]+ESI)); EDI+=cpu->df<<1; ESI+=cpu->df<<1; CYCLES(4);"); |
| 2230 | } else { |
| 2231 | kpanic("gen0a5"); |
| 2232 | } |
| 2233 | } |
| 2234 | |
| 2235 | void OPCALL movsd16_r_op(struct CPU* cpu, struct Op* op); |
| 2236 | void OPCALL movsd16_op(struct CPU* cpu, struct Op* op); |