Exemplo n.º 1
0
I286_F6 _dec_ea8(UINT op) {

	UINT32	madr;
	UINT8	*out;
	REG8	res;

	if (op >= 0xc0) {
		I286_WORKCLOCK(2);
		out = REG8_B20(op);
	}
	else {
		I286_WORKCLOCK(7);
		madr = CALC_EA(op);
		if (madr >= I286_MEMWRITEMAX) {
			res = i286_memoryread(madr);
			DECBYTE(res)
			i286_memorywrite(madr, res);
			return;
		}
		out = mem + madr;
	}
	res = *out;
	DECBYTE(res)
	*out = (UINT8)res;
}
Exemplo n.º 2
0
void ea_assert(UINT32 x) {

	TCHAR	buf[32];

	wsprintf(buf, _T("addr = %x [%.2x]"), x, i286_memoryread(x - 2));
	MessageBox(NULL, buf, _T("!"), MB_OK);
	exit(1);
}
Exemplo n.º 3
0
I286_SFT _ror_e8_1(UINT32 madr) {

	UINT	src;
	UINT	dst;

	src = i286_memoryread(madr);
	BYTE_ROR1(dst, src)
	i286_memorywrite(madr, (REG8)dst);
}
Exemplo n.º 4
0
I286_SFT _sar_e8_cl(UINT32 madr, REG8 cl) {

	UINT	src;
	UINT	dst;

	src = i286_memoryread(madr);
	BYTE_SARCL(dst, src, cl)
	i286_memorywrite(madr, (REG8)dst);
}