сборка 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?
Решение
В соответствии с Руководство по архитектуре SPARC, страница 116, это вариант реализации, устанавливать ли %y в sdiv или нет.По-видимому, это также вариант реализации, независимо от того, реализовывать его аппаратно или программно, поэтому кажется, что некоторые программные реализации не устанавливают %y.
Другие советы
Пожалуйста, обратитесь к руководству SPARC V8, страница 115, для получения инструкции sdiv, процессор удалит остаток.