4.4.6. SMUAD{X} 및 SMUSD{X}

결과 더하기 또는 빼기 포함 이중 16비트 부호 있는 곱하기 및 피연산자 하프의 선택적 교환

구문

op{X}{cond} {Rd}, Rn, Rm

인수 설명:

op

다음 중 하나입니다.

SMUAD

이중 곱하기, 결과 더하기

SMUSD

이중 곱하기, 결과 빼기

X

선택적 매개변수입니다. X가 있으면 곱하기가 수행되기 전에 두 번째 피연산자의 최상위 및 최하위 하프워드가 교환됩니다.

cond

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

Rd

대상 레지스터입니다.

Rn, Rm

피연산자가 들어 있는 레지스터입니다.

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

사용법

SMUADRn의 하위 하프워드를 Rm의 하위 하프워드와 곱하고 Rn의 상위 하프워드를 Rm의 상위 하프워드와 곱합니다. 그런 다음 결과를 더하고 그 합을 Rd에 저장합니다.

SMUSDRn의 하위 하프워드와 Rm의 하위 하프워드를 곱하고 Rn의 상위 하프워드를 Rm의 상위 하프워드와 곱합니다. 그런 다음 첫 번째 결과에서 두 번째 결과를 빼고 그 차이를 Rd에 저장합니다.

조건 플래그

더하기가 오버플로될 경우 SMUAD 명령어는 Q 플래그를 설정합니다.

아키텍처

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

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

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

예제

    SMUAD       r2, r3, r2
    SMUSDXNE    r0, r1, r2
Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0204IK
Non-Confidential