sparc程序集和%y寄存器

问题描述:

我目前正在使用sparc计算机,而且我想知道一个数是否为素数。sparc程序集和%y寄存器

这里是代码的一部分:

 mov  0,%y    
     mov  3, %l1 
     nop 
     nop 
     nop 

     sdiv %l1,2,%l3 
     rd  %y, %l6   
     cmp  %l6, 0   

所以basicaly我们在这里是3/2。所以应该提醒1.这个提醒应该放在%Y寄存器中。但是当我查看%Y时,它仍然为0.为什么%Y仍然为0,而它应该给我提醒1?

根据SPARC Architecture Manual,第116页,这是一个实现选项,是否在sdiv中设置%y。显然,它也是一个实现选项,无论是以硬件还是软件实现它,所以似乎有些软件实现不会设置%y。

有关sdiv指令,请参阅SPARC V8手册第115页,CPU将丢弃剩余部分。