fcmpu(Floating Compare Unordered) 명령어
용도
두 부동 소수점 레지스터의 내용을 비교합니다.
구문
| 비트 | 값 |
|---|---|
| 0-5 | 63 |
| 6-8 | BF |
| 9 - 10 | // |
| 11-15 | FRA |
| 16-20 | FRB |
| 21-30 | 0 |
| 31 | / |
설명
Fcmpu 명령은 부동 소수점 레지스터(FPR) FRA의 64비트 배정밀도 부동 소수점 피연산자를 FPR FRB의 64비트 배정밀도 부동 소수점 피연산자와 비교합니다. 부동 소수점 상태 및 제어 레지스터(FPSCR)의 부동 소수점 조건 코드 필드(FPCC)는 피연산자 FRB에 대한 피연산자 FRA의 값을 반영하도록 설정됩니다. BF 값은 조건 레지스터의 어떤 필드가 4개의 FPCC 비트를 수신할지 결정합니다.
Fcmpu 명령어를 사용할 때는 다음 사항을 고려하세요:
- 피연산자 중 하나가 조용한 NaN 또는 신호 NaN, 경우, 부동 소수점 조건 코드는 정렬되지 않은(FU) 것을 반영하도록 설정됩니다.
- 피연산자 중 하나가 시그널링 NaN, 부동 소수점 상태 및 제어 레지스터의 부동 소수점 유효하지 않은 연산 예외 비트 VXSNAN이 설정됩니다.
Fcmpu 명령은 하나의 구문 형식을 가지며 항상 FPSCR의 FT, FG, FE, FU 및 VXSNAN 비트에 영향을 미칩니다.
매개변수
| 항목 | 설명 |
|---|---|
| BF | 조건 레지스터에서 4개의 FPCC 비트를 수신하는 필드를 지정합니다. |
| FRA | 소스 부동 소수점 레지스터를 지정합니다. |
| FRB | 소스 부동 소수점 레지스터를 지정합니다. |
예
다음 코드는 FPR 5와 FPR 4의 내용을 비교한 것입니다:
# Assume FPR 5 holds 0xC053 4000 0000 0000.
# Assume FPR 4 holds 0x400C 0000 0000 0000.
# Assume CR = 0 and FPSCR = 0.
fcmpu 6,4,5
# CR now contains 0x0000 0040.
# FPSCR now contains 0x0000 4000.