summaryrefslogtreecommitdiffstats
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 00000000..39b85818
--- /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