summary refs log tree commit diff stats
path: root/results/scraper/box64/75
diff options
context:
space:
mode:
Diffstat (limited to 'results/scraper/box64/75')
-rw-r--r--results/scraper/box64/7524
1 files changed, 24 insertions, 0 deletions
diff --git a/results/scraper/box64/75 b/results/scraper/box64/75
new file mode 100644
index 000000000..39b858184
--- /dev/null
+++ b/results/scraper/box64/75
@@ -0,0 +1,24 @@
+fpu_do_push() function problem
+Such as title.

+function fpu_do_push(emu)

+

+```

+static inline void fpu_do_push(x64emu_t* emu)

+{

+    int newtop = (emu->top-1)&7;

+    /*if(emu->p_regs[newtop].tag!=0b11) {// not empty, overflow!

+        printf_log(LOG_NONE, "Warning: %p: FPU Stack overflow\n", (void*)emu->old_ip);    // probably better to raise something

+        //emu->quit = 1;

+        return;

+    }*/

+    if(emu->fpu_stack<8)

+        ++emu->fpu_stack; 

+    emu->p_regs[newtop].tag = 0;    // full

+    emu->top = newtop;

+}

+```

+

+However, the Intel manual describes when operating the FPU stack. 

+Set FPU flags C1 to 1 if stack overflow occurred; otherwise, set to 0.

+

+So, Did you forget to set flags here?  Should I add this operation?
\ No newline at end of file