【发布时间】:2014-01-15 18:50:31
【问题描述】:
我有一个问题:假设我的浮点单元堆栈如下:
ST0 = +1.5000000000000000e+0001 ST1 = +5.0000000000000000e+0000
ST2 = +2.5000000000000000e+0001 ST3 = +0.0000000000000000e+0000
ST4 = +0.0000000000000000e+0000 ST5 = +0.0000000000000000e+0000
ST6 = +0.0000000000000000e+0000 ST7 = +0.0000000000000000e+0000
执行此指令后:
fstp st(1)
我的预测是该单元会将 st(0) 发送到 st(1)(堆栈上的情况将是 1.5;1.5;2.5;0 etc)然后弹出堆栈顶部,因此情况将是 1.5;2.5;0 etc.
相反,我看到以下内容:
ST0 = +1.5000000000000000e+0001 ST1 = +2.5000000000000000e+0001
ST2 = +0.0000000000000000e+0000 ST3 = +0.0000000000000000e+0000
ST4 = +0.0000000000000000e+0000 ST5 = +0.0000000000000000e+0000
ST6 = +0.0000000000000000e+0000 ST7 = +1.5000000000000000e+0001
我的问题是,为什么st(7) 发生了变化,我怎样才能达到我的预期结果。谢谢你的帮助!
【问题讨论】: