Sparc Anordnung und das Y-Register%
Frage
Zur Zeit arbeite ich mit einem Sparc-Computer und ich versuche, zu wissen, ob eine Zahl eine Primzahl ist oder nicht.
Hier ist ein Teil des Codes:
mov 0,%y
mov 3, %l1
nop
nop
nop
sdiv %l1,2,%l3
rd %y, %l6
cmp %l6, 0
So basicaly was wir 3/2 hier haben. So soll es eine Erinnerung an 1 sein sollte diese Erinnerung in dem Verzeichnis% Y-Register geputtet werden. Aber wenn ich in% Y aussehen, ist es immer noch auf 0 Warum% Y noch bei 0, während er mir eine Erinnerung an 1 zeigen sollte?
Lösung
Nach dem SPARC Architektur Handbuch , Seite 116, es ist eine Implementierungsoption, ob oder nicht% y in SDIV einzustellen. Offenbar ist es auch eine Implementierung Option, ob es in der Hardware oder Software zu implementieren, so scheint es, dass einige Software-Implementierungen nicht% y gesetzt.
Andere Tipps
Wir verweisen auf SPARC-V8-Handbuch Seite 115, für SDIV Anweisung, CPU verwirft Rest.