예제 #1
0
파일: i286c_fe.c 프로젝트: perabuss/np2wii
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;
}
예제 #2
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);
}
예제 #3
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);
}