汇编。如何设置CW的RC位?
如何将RC中FPU位的控制字设置为3?
答案(编者注:不要将答案作为问题的一部分发布,但现在就在这里)
fstcw word ptr cw
or word ptr cw, 110000000000b
fldcw word ptr cw
How to set in control word of FPU bits in RC to 3?
answer (editor's note: don't post answers as part of the question, but for now it's here)
fstcw word ptr cw
or word ptr cw, 110000000000b
fldcw word ptr cw
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
查看 fasm 手册,您需要使用
fstcw
将控制字存储在 16 位内存位置,修改 适当的位,然后使用fldcw
加载修改后的控制字。在这种情况下,适当的位是位 10 和 11,并且您希望将它们都设置为 1,因此或内存位置为 0x0C00 (3 << 10)。
这将设置 FPU 截断所有舍入和转换,这希望是您想要实现的目标。
Looking at the fasm manual, you'd need to use
fstcw
to store the control word in a 16 bit memory location, modify the appropriate bits, and then usefldcw
to load the modified control word.The appropriate bits in this case are bits 10 and 11, and you want to set them both to 1, so or the memory location with 0x0C00 (3 << 10).
This will set the FPU to truncate all rounding and conversions, which hopefully is what you're trying to achieve.