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 페이지, 그것은 SDIV에서 %y를 설정 여부에 관계없이 구현 옵션입니다. 분명히 하드웨어 또는 소프트웨어에서 구현할지 여부는 구현 옵션이므로 일부 소프트웨어 구현이 %y를 설정하지 않는 것 같습니다.
다른 팁
SDIV 명령에 대해서는 SPARC V8 매뉴얼 115 페이지를 참조하십시오. CPU는 나머지를 폐기합니다.
제휴하지 않습니다 StackOverflow