Define XER register.

This commit is contained in:
Skyth
2024-09-12 17:41:39 +03:00
parent eaa8e7d482
commit 1ab19abed5
2 changed files with 12 additions and 3 deletions

View File

@@ -39,6 +39,13 @@ struct PPCRegister
};
};
struct PPCXERRegister
{
uint8_t so;
uint8_t ov;
uint8_t ca;
};
struct PPCCRRegister
{
uint8_t lt;
@@ -47,11 +54,12 @@ struct PPCCRRegister
uint8_t so;
template<typename T>
void compare(T left, T right)
void compare(T left, T right, const PPCXERRegister& xer)
{
lt = left < right;
gt = left > right;
eq = left == right;
so = xer.so;
}
};
@@ -61,6 +69,7 @@ struct PPCContext
{
uint64_t lr;
uint64_t ctr;
PPCXERRegister xer;
union
{