MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / FXTRACT

Method FXTRACT

source/emulation/cpu/common/fpu.cpp:1210–1228  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1208}
1209
1210void FPU::FXTRACT() {
1211 extFloat80_t& d0 = getReg(top);
1212
1213 if (F80_iszero(d0)) {
1214 d0 = fx80_ninf;
1215 PREP_PUSH();
1216 regs[top] = fx80_zero;
1217 isRegCached[top] = false;
1218 } else {
1219 extFloat80_t exponent = i32_to_extF80((d0.signExp & 0x7fff) - 0x3fff);
1220 extFloat80_t mant = d0;
1221 mant.signExp &= ~0x7fff;
1222 mant.signExp |= 0x3fff;
1223 d0 = exponent;
1224 PREP_PUSH();
1225 regs[top] = mant;
1226 isRegCached[top] = false;
1227 }
1228}
1229
1230void FPU::FCHS() {
1231 if (isRegCached[top]) {

Callers 1

common_FXTRACTFunction · 0.80

Calls 2

F80_iszeroFunction · 0.85
i32_to_extF80Function · 0.85

Tested by

no test coverage detected