4.4.4. SMULWy 및 SMLAWy

상위 32비트 결과를 제공하여 하나의 32비트 피연산자 및 하나의 16비트 피연산자 포함 부호 있는 곱하기 광역 및 부호 있는 곱하기 누산 광역

구문

SMULW<y>{cond} {Rd}, Rn, Rm
SMLAW<y>{cond} Rd, Rn, Rm, Ra

인수 설명:

<y>

B 또는 T입니다. BRm의 하위 하프 (비트[15:0]) 사용을 의미하고, TRm의 상위 하프 (비트[31:16]) 사용을 의미합니다.

cond

선택적 조건 코드입니다 (조건부 실행 참조).

Rd

대상 레지스터입니다.

Rn, Rm

곱할 값이 들어 있는 레지스터입니다.

Ra

더할 값이 들어 있는 레지스터입니다.

사용법

Rd, Rn, Rm 또는 Ra에 r15를 사용하면 안 됩니다.

SMULWyRm의 선택된 하프에서 부호 있는 정수에 Rn의 부호 있는 정수를 곱하고 48비트 결과의 상위 32비트를 Rd에 배치합니다.

SMLAWyRm의 선택된 하프에서 부호 있는 정수에 Rn의 부호 있는 정수를 곱하고 32비트 결과를 Ra의 32비트 값에 더한 다음 결과를 Rd에 배치합니다.

조건 플래그

이러한 명령어는 N, Z, C 또는 V 플래그에 영향을 주지 않습니다.

누산에 오버플로가 발생하면 SMLAWy가 Q 플래그를 설정합니다 (MRS 참조).

아키텍처

이러한 ARM 명령어는 ARMv6 이상과 ARMv5의 E 변형에서 사용할 수 있습니다.

이러한 32비트 Thumb 명령어는 ARMv7-M 프로필을 제외하고 ARMv6T2 이상에서 사용할 수 있습니다.

이러한 명령어의 16비트 Thumb 버전은 없습니다.

Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0204IK
Non-Confidential