gpt4 book ai didi

c - 在不更改 x87 寄存器的情况下进行十进制除法

转载 作者:行者123 更新时间:2023-11-30 17:38:21 30 4
gpt4 key购买 nike

我正处于一种奇怪的境地,我把自己编码进去了,被困住了!我正在学习操作系统类(class),我们正在编写一个非抢占式调度程序,我所处的情况是我需要对上下文切换中的时间测量进行一些简单的计算。

对于我的平均计算,我需要除以小数,我的代码现在从汇编程序调用 C 函数进行计算并将结果打印到屏幕上,此 C 函数使用 double,稍后我意识到double除法会导致x87寄存器发生变化,因为get_time(C函数)函数在上下文切换之前和之后调用。有没有办法进行十进制除法以避免更改 x87 寄存器?我非常需要一些提示和帮助。

最佳答案

我在汇编和寄存器使用方面没有太多技能,但也许:

  • 如果你压入寄存器并在最后弹出它会怎样?
  • 您说双除法更改为 x87 寄存器,那么 float 呢?

关于c - 在不更改 x87 寄存器的情况下进行十进制除法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22157319/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com