lfq(Load Floating-Point Quad) 명령어
용도
두 개의 배정밀도 값을 부동 소수점 레지스터에 로드합니다.
참고: lfq 명령어는 POWER® 제품군 아키텍처의 POWER2™ 구현에서만 지원됩니다.
구문
| 비트 | 값 |
|---|---|
| 0 - 5 | 56 |
| 6 - 10 | FRT |
| 11 - 15 | RA |
| 16 - 29 | DS |
| 30 - 31 | 00 |
설명
Lfq 명령은 유효 주소(EA)로 지정된 메모리 내 위치에서 두 개의 이중 단어를 두 개의 부동 소수점 레지스터(FPR)로 로드합니다.
DS는 부호를 30비트로 확장하고 오른쪽에 b'00'으로 연결하여 오프셋 값을 형성합니다. 범용 레지스터(GPR) RA가 0이면 오프셋 값은 EA입니다. GPR RA가 0이 아닌 경우 오프셋 값을 GPR RA에 추가하여 EA를 생성합니다. EA의 이중 단어는 FPR FRT에 로드됩니다. FRT가 31이면 EA+8 이중 단어가 FPR 0에 로드되고, 그렇지 않으면 FRT+1에 로드됩니다.
Lfq 명령은 구문 형식이 하나이며 부동 소수점 상태 및 제어 레지스터 또는 조건 레지스터 필드 0에 영향을 주지 않습니다.
매개변수
| 항목 | 설명 |
|---|---|
| FRT | 두 개의 타깃 부동소수점 레지스터 중 첫 번째를 지정합니다. |
| DS | EA 계산의 즉각적인 값으로 사용되는 14비트 필드를 지정합니다. |
| RA | EA 계산을 위한 하나의 소스 범용 레지스터를 지정합니다. |
예
다음 코드는 두 개의 배정밀도 부동 소수점 값을 메모리의 한 위치에서 두 번째 위치로 복사합니다:
# Assume GPR 3 contains the address of the first source
# floating-point value.
# Assume GPR 4 contains the address of the target location.
lfq 7,0(3) # Load first two values into FPRs 7 and
# 8.
stfq 7,0(4) # Store the two doublewords at the new
# location.