Revision 3ab493de target-i386/op.c

b/target-i386/op.c
936 936
    helper_lar();
937 937
}
938 938

  
939
void OPPROTO op_verr(void)
940
{
941
    helper_verr();
942
}
943

  
944
void OPPROTO op_verw(void)
945
{
946
    helper_verw();
947
}
948

  
949
void OPPROTO op_arpl(void)
950
{
951
    if ((T0 & 3) < (T1 & 3)) {
952
        /* XXX: emulate bug or 0xff3f0000 oring as in bochs ? */
953
        T0 = (T0 & ~3) | (T1 & 3);
954
        T1 = CC_Z;
955
   } else {
956
        T1 = 0;
957
    }
958
    FORCE_RET();
959
}
960
            
961
void OPPROTO op_arpl_update(void)
962
{
963
    int eflags;
964
    eflags = cc_table[CC_OP].compute_all();
965
    CC_SRC = (eflags & ~CC_Z) | T1;
966
}
967
    
939 968
/* T0: segment, T1:eip */
940 969
void OPPROTO op_ljmp_protected_T0_T1(void)
941 970
{

Also available in: Unified diff