
CS/어셈블리
[SPARC] 39. FPU Instructions 사용 예제 (배정밀도, 매개변수)
지난 글에서는 단점일도 FPU 명령어 사용 예제를 살펴보았다. 이번 글에서는 배정밀도 FPU 명령어 사용 예제를 살펴보고자 한다. Double-Precision Floating Point Computation 배정밀도 연산자는 기존 연산자 끝에 s 대신 d 가 붙는 것만 다르다. faddd fsubd fmuld fsmuld (single * single = double, 피연산자는 single 이다.) fdivd fsqrtd double 연산자의 피연산자 레지스터는 반드시 짝수번째 레지스터가 들어가야 한다. %fi 와 %f(i+1) 의 2개 레지스터로 하나의 소수를 표현하기 때문이다. 연산 결과도 double 로 나오므로 짝수번째 레지스터를 사용한다. 데이터 형변환 명령어도 종류가 늘어났다. fitod ..