mirror of
https://github.com/holub/mame
synced 2025-05-24 14:56:21 +03:00
i386: Fixed STR and SLDT instructions.
This commit is contained in:
parent
b0eaeb8922
commit
e8404e05a4
@ -2870,8 +2870,7 @@ static void I386OP(group0F00_16)(i386_state *cpustate) // Opcode 0x0f 00
|
|||||||
if ( PROTECTED_MODE && !V8086_MODE )
|
if ( PROTECTED_MODE && !V8086_MODE )
|
||||||
{
|
{
|
||||||
if( modrm >= 0xc0 ) {
|
if( modrm >= 0xc0 ) {
|
||||||
address = LOAD_RM16(modrm);
|
STORE_RM16(modrm, cpustate->ldtr.segment);
|
||||||
STORE_RM16(address, cpustate->ldtr.segment);
|
|
||||||
CYCLES(cpustate,CYCLES_SLDT_REG);
|
CYCLES(cpustate,CYCLES_SLDT_REG);
|
||||||
} else {
|
} else {
|
||||||
ea = GetEA(cpustate,modrm);
|
ea = GetEA(cpustate,modrm);
|
||||||
@ -2888,8 +2887,7 @@ static void I386OP(group0F00_16)(i386_state *cpustate) // Opcode 0x0f 00
|
|||||||
if ( PROTECTED_MODE && !V8086_MODE )
|
if ( PROTECTED_MODE && !V8086_MODE )
|
||||||
{
|
{
|
||||||
if( modrm >= 0xc0 ) {
|
if( modrm >= 0xc0 ) {
|
||||||
address = LOAD_RM16(modrm);
|
STORE_RM16(modrm, cpustate->task.segment);
|
||||||
STORE_RM16(address, cpustate->task.segment);
|
|
||||||
CYCLES(cpustate,CYCLES_STR_REG);
|
CYCLES(cpustate,CYCLES_STR_REG);
|
||||||
} else {
|
} else {
|
||||||
ea = GetEA(cpustate,modrm);
|
ea = GetEA(cpustate,modrm);
|
||||||
|
@ -2719,8 +2719,7 @@ static void I386OP(group0F00_32)(i386_state *cpustate) // Opcode 0x0f 00
|
|||||||
if ( PROTECTED_MODE && !V8086_MODE )
|
if ( PROTECTED_MODE && !V8086_MODE )
|
||||||
{
|
{
|
||||||
if( modrm >= 0xc0 ) {
|
if( modrm >= 0xc0 ) {
|
||||||
address = LOAD_RM32(modrm);
|
STORE_RM32(modrm, cpustate->ldtr.segment);
|
||||||
STORE_RM32(address, cpustate->ldtr.segment);
|
|
||||||
CYCLES(cpustate,CYCLES_SLDT_REG);
|
CYCLES(cpustate,CYCLES_SLDT_REG);
|
||||||
} else {
|
} else {
|
||||||
ea = GetEA(cpustate,modrm);
|
ea = GetEA(cpustate,modrm);
|
||||||
@ -2737,8 +2736,7 @@ static void I386OP(group0F00_32)(i386_state *cpustate) // Opcode 0x0f 00
|
|||||||
if ( PROTECTED_MODE && !V8086_MODE )
|
if ( PROTECTED_MODE && !V8086_MODE )
|
||||||
{
|
{
|
||||||
if( modrm >= 0xc0 ) {
|
if( modrm >= 0xc0 ) {
|
||||||
address = LOAD_RM32(modrm);
|
STORE_RM32(modrm, cpustate->task.segment);
|
||||||
STORE_RM32(address, cpustate->task.segment);
|
|
||||||
CYCLES(cpustate,CYCLES_STR_REG);
|
CYCLES(cpustate,CYCLES_STR_REG);
|
||||||
} else {
|
} else {
|
||||||
ea = GetEA(cpustate,modrm);
|
ea = GetEA(cpustate,modrm);
|
||||||
|
Loading…
Reference in New Issue
Block a user