--- np2/i386c/ia32/ia32.mcr 2004/01/23 14:33:26 1.4 +++ np2/i386c/ia32/ia32.mcr 2004/01/27 15:52:53 1.6 @@ -1,4 +1,4 @@ -/* $Id: ia32.mcr,v 1.4 2004/01/23 14:33:26 monaka Exp $ */ +/* $Id: ia32.mcr,v 1.6 2004/01/27 15:52:53 monaka Exp $ */ /* * Copyright (c) 2002-2003 NONAKA Kimihiro @@ -133,10 +133,6 @@ do { \ if (!CPU_STATSAVE.cpu_inst_default.op_32) {\ __tmp_ip &= 0x0000ffff; \ } \ - if (__tmp_ip > CPU_STAT_CS_LIMIT) { \ - VERBOSE(("SET_EIP: new_ip = %08x, limit = %08x", __tmp_ip, CPU_STAT_CS_LIMIT)); \ - EXCEPTION(GP_EXCEPTION, 0); \ - } \ CPU_EIP = __tmp_ip; \ } while (/*CONSTCOND*/ 0) @@ -437,7 +433,7 @@ do { \ (r) = (d) - (s) - __c; \ CPU_OV = ((d) ^ (r)) & ((d) ^ (s)) & 0x80000000; \ CPU_FLAGL = (BYTE)(((r) ^ (d) ^ (s)) & A_FLAG); \ - if ((d) < (s) + __c) { \ + if ((!__c && (d) < (s)) || (__c && (d) <= (s))) { \ CPU_FLAGL |= C_FLAG; \ } \ if ((r) == 0) { \