From a91af64d77e02aa5d9cb162b4e4d1fef4399e3d9 Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Sat, 23 Aug 2003 07:13:06 +0000 Subject: [PATCH] Changed SHLD and SHRD instructions to use common function defines. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1200 --- src/cpu/core_normal/prefix_66_0f.h | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/src/cpu/core_normal/prefix_66_0f.h b/src/cpu/core_normal/prefix_66_0f.h index d24ebc8a..dc100f62 100644 --- a/src/cpu/core_normal/prefix_66_0f.h +++ b/src/cpu/core_normal/prefix_66_0f.h @@ -176,13 +176,11 @@ break; } CASE_0F_D(0xa4) /* SHLD Ed,Gd,Ib */ - { - GetRMrd; - if (rm >= 0xc0 ) {GetEArd;DSHLD(*eard,*rmrd,Fetchb(),LoadRd,SaveRd);} - else {GetEAa;DSHLD(eaa,*rmrd,Fetchb(),LoadMd,SaveMd);} - break; - } - + RMEdGdOp3(DSHLD,Fetchb()); + break; + CASE_0F_D(0xa5) /* SHLD Ed,Gd,CL */ + RMEdGdOp3(DSHLD,reg_cl); + break; CASE_0F_D(0xa8) /* PUSH GS */ Push_32(SegValue(gs));break; CASE_0F_D(0xa9) /* POP GS */ @@ -205,19 +203,11 @@ } CASE_0F_D(0xac) /* SHRD Ed,Gd,Ib */ - { - GetRMrd; - if (rm >= 0xc0 ) {GetEArd;DSHRD(*eard,*rmrd,Fetchb(),LoadRd,SaveRd);} - else {GetEAa;DSHRD(eaa,*rmrd,Fetchb(),LoadMd,SaveMd);} - break; - } - CASE_0F_D(0xad) /* SHRD Ed,Gd,Cl */ - { - GetRMrd; - if (rm >= 0xc0 ) {GetEArd;DSHRD(*eard,*rmrd,reg_cl,LoadRd,SaveRd);} - else {GetEAa;DSHRD(eaa,*rmrd,reg_cl,LoadMd,SaveMd);} - break; - } + RMEdGdOp3(DSHRD,Fetchb()); + break; + CASE_0F_D(0xad) /* SHRD Ed,Gd,CL */ + RMEdGdOp3(DSHRD,reg_cl); + break; CASE_0F_D(0xb4) /* LFS Ed */ { GetRMrd;GetEAa;