sparc 程序集和 %y 寄存器
我目前正在使用一台 sparc 计算机,我想知道一个数字是否是素数。
这是代码的一部分:
mov 0,%y
mov 3, %l1
nop
nop
nop
sdiv %l1,2,%l3
rd %y, %l6
cmp %l6, 0
所以基本上我们这里有的是 3/2。所以应该有1的提醒。这个提醒应该放在%Y寄存器中。但是当我查看 %Y 时,它仍然是 0。为什么 %Y 仍然是 0,而它应该显示 1 的提醒?
I am currently working with a sparc computer and I am trying to know if a number is prime or not.
here is a part of the code :
mov 0,%y
mov 3, %l1
nop
nop
nop
sdiv %l1,2,%l3
rd %y, %l6
cmp %l6, 0
So basicaly what we have here is 3/2. So there should be a reminder of 1. This reminder should be putted in the %Y register. But When I look at %Y, it is still at 0. Why is %Y still at 0 while it should show me a reminder of 1?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据 SPARC 架构手册,第 116 页,它是一个实现选项是否在 sdiv 中设置 %y。显然,无论是在硬件还是软件中实现它也是一个实现选项,因此似乎某些软件实现没有设置%y。
According to the SPARC Architecture Manual, page 116, it's an implementation option whether or not to set %y in sdiv. Apparently, it's also an implementation option whether to implement it in hardware or software, so it seems that some software implementations don't set %y.
请参阅 SPARC V8 手册第 115 页,对于 sdiv 指令,CPU 将丢弃剩余部分。
Please refer to SPARC V8 Manual page 115, for sdiv instruction, CPU will discard remainder.