I286FN v30segprefix_es(void) { // 26: es: SS_FIX = ES_BASE; DS_FIX = ES_BASE; I286_PREFIX++; if (I286_PREFIX < MAX_PREFIX) { UINT op; GET_PCBYTE(op); v30op[op](); REMOVE_PREFIX I286_PREFIX = 0; } else { INT_NUM(6, I286_IP); } }
I286FN v30segprefix_ds(void) { // 3e: ds: I286_SS_FIX = I286_DS_BASE; I286_DS_FIX = I286_DS_BASE; I286_PREFIX++; if (I286_PREFIX < MAX_PREFIX) { UINT op; GET_PCBYTE(op); v30op[op](); REMOVE_PREFIX I286_PREFIX = 0; } else { INT_NUM(6, I286_IP); } }
I286_F6 _jmp_far_ea16(UINT op) { UINT32 seg; UINT ad; I286_WORKCLOCK(11); if (op < 0xc0) { ad = GET_EA(op, &seg); I286_IP = i286_memoryread_w(seg + ad); I286_CS = i286_memoryread_w(seg + LOW16(ad + 2)); CS_BASE = SEGSELECT(I286_CS); } else { INT_NUM(6, I286_IP - 2); } }
I286_F6 _nop_int(UINT op) { INT_NUM(6, I286_IP - 2); }