src/emu/cpu/i386/i386op16.c
| r14098 | r14099 | |
| 287 | 287 | dst = temp; |
| 288 | 288 | CYCLES(cpustate,CYCLES_BSF); |
| 289 | 289 | } |
| 290 | STORE_REG16(modrm, dst); |
| 290 | 291 | } |
| 291 | 292 | CYCLES(cpustate,CYCLES_BSF_BASE); |
| 292 | | STORE_REG16(modrm, dst); |
| 293 | 293 | } |
| 294 | 294 | |
| 295 | 295 | static void I386OP(bsr_r16_rm16)(i386_state *cpustate) // Opcode 0x0f bd |
| r14098 | r14099 | |
| 316 | 316 | dst = temp; |
| 317 | 317 | CYCLES(cpustate,CYCLES_BSR); |
| 318 | 318 | } |
| 319 | STORE_REG16(modrm, dst); |
| 319 | 320 | } |
| 320 | 321 | CYCLES(cpustate,CYCLES_BSR_BASE); |
| 321 | | STORE_REG16(modrm, dst); |
| 322 | 322 | } |
| 323 | 323 | |
| 324 | 324 | |
| r14098 | r14099 | |
| 552 | 552 | ead = i386_translate(cpustate, ES, cpustate->address_size ? REG32(EDI) : REG16(DI) ); |
| 553 | 553 | src = READ16(cpustate,eas); |
| 554 | 554 | dst = READ16(cpustate,ead); |
| 555 | | SUB16(cpustate,dst, src); |
| 555 | SUB16(cpustate,src,dst); |
| 556 | 556 | BUMP_SI(cpustate,2); |
| 557 | 557 | BUMP_DI(cpustate,2); |
| 558 | 558 | CYCLES(cpustate,CYCLES_CMPS); |
src/emu/cpu/i386/i386.c
| r14098 | r14099 | |
| 1060 | 1060 | CHANGE_PC(cpustate,cpustate->eip); |
| 1061 | 1061 | |
| 1062 | 1062 | cpustate->CPL = cpustate->sreg[CS].selector & 0x03; |
| 1063 | | printf("286 Task Switch from selector %04x to %04x\n",old_task,selector); |
| 1063 | // printf("286 Task Switch from selector %04x to %04x\n",old_task,selector); |
| 1064 | 1064 | } |
| 1065 | 1065 | |
| 1066 | 1066 | static void i386_task_switch(i386_state *cpustate, UINT16 selector, UINT8 nested) |
| r14098 | r14099 | |
| 1175 | 1175 | CHANGE_PC(cpustate,cpustate->eip); |
| 1176 | 1176 | |
| 1177 | 1177 | cpustate->CPL = cpustate->sreg[CS].selector & 0x03; |
| 1178 | | printf("386 Task Switch from selector %04x to %04x\n",old_task,selector); |
| 1178 | // printf("386 Task Switch from selector %04x to %04x\n",old_task,selector); |
| 1179 | 1179 | } |
| 1180 | 1180 | |
| 1181 | 1181 | static void i386_check_irq_line(i386_state *cpustate) |
src/emu/cpu/i386/i386op32.c
| r14098 | r14099 | |
| 289 | 289 | dst = temp; |
| 290 | 290 | CYCLES(cpustate,CYCLES_BSF); |
| 291 | 291 | } |
| 292 | STORE_REG32(modrm, dst); |
| 292 | 293 | } |
| 293 | 294 | CYCLES(cpustate,CYCLES_BSF_BASE); |
| 294 | | STORE_REG32(modrm, dst); |
| 295 | 295 | } |
| 296 | 296 | |
| 297 | 297 | static void I386OP(bsr_r32_rm32)(i386_state *cpustate) // Opcode 0x0f bd |
| r14098 | r14099 | |
| 318 | 318 | dst = temp; |
| 319 | 319 | CYCLES(cpustate,CYCLES_BSR); |
| 320 | 320 | } |
| 321 | STORE_REG32(modrm, dst); |
| 321 | 322 | } |
| 322 | 323 | CYCLES(cpustate,CYCLES_BSR_BASE); |
| 323 | | STORE_REG32(modrm, dst); |
| 324 | 324 | } |
| 325 | 325 | |
| 326 | 326 | static void I386OP(bt_rm32_r32)(i386_state *cpustate) // Opcode 0x0f a3 |
| r14098 | r14099 | |
| 548 | 548 | ead = i386_translate(cpustate, ES, cpustate->address_size ? REG32(EDI) : REG16(DI) ); |
| 549 | 549 | src = READ32(cpustate,eas); |
| 550 | 550 | dst = READ32(cpustate,ead); |
| 551 | | SUB32(cpustate,dst, src); |
| 551 | SUB32(cpustate,src,dst); |
| 552 | 552 | BUMP_SI(cpustate,4); |
| 553 | 553 | BUMP_DI(cpustate,4); |
| 554 | 554 | CYCLES(cpustate,CYCLES_CMPS); |