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