2

私は現在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のリマインダーが表示されるのはなぜですか。

4

2 に答える 2

4

SPARCアーキテクチャマニュアル(116ページ)によると、sdivに%yを設定するかどうかは実装オプションです。どうやら、それはハードウェアとソフトウェアのどちらで実装するかという実装オプションでもあるので、一部のソフトウェア実装では%yが設定されていないようです。

于 2009-09-28T02:09:00.597 に答える
0

SPARC V8のマニュアルページ115を参照してください。sdiv命令については、CPUが残りを破棄します。

于 2012-08-23T09:38:05.700 に答える