4.3.10. SEL

APSR GE 플래그의 상태에 따라 각 피연산자에서 바이트 선택

구문

SEL{cond} {Rd}, Rn, Rm

인수 설명:

cond

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

Rd

대상 레지스터입니다.

Rn

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

Rm

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

연산

SEL 명령어는 Rn 또는 Rm에서 APSR GE 플래그에 따라 바이트를 선택합니다.

  • GE[0]가 설정되면 Rd[7:0]Rn[7:0]에서 가져오고, 그렇지 않으면 Rm[7:0]에서 가져옵니다.

  • GE[1]가 설정되면 Rd[15:8]Rn[15:8]에서 가져오고, 그렇지 않으면 Rm[15:8]에서 가져옵니다.

  • GE[2]가 설정되면 Rd[23:16]Rn[23:16]에서 가져오고, 그렇지 않으면 Rm[23:16]에서 가져옵니다.

  • GE[3]이 설정되면 Rd[31:24]Rn[31:24]에서 가져오고, 그렇지 않으면 Rm[31:24]에서 가져옵니다.

사용법

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

부호 있는 병렬 명령어 중 하나 다음에 SEL 명령어를 사용합니다 (병렬 더하기 및 빼기 참조). 이 명령어를 사용하면 복수 바이트 또는 하프워드 데이터에서 최대값 또는 최소값을 선택할 수 있습니다.

조건 플래그

이 명령어는 플래그를 변경하지 않습니다.

아키텍처

이 ARM 명령어는 ARMv6 이상에서 사용할 수 있습니다.

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

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

예제

    SEL     r0, r4, r5
    SELLT   r4, r0, r4

다음 명령어 시퀀스는 r4의 각 바이트를 r1r2에 해당하는 바이트의 부호 없는 최소값과 같게 설정합니다.

    USUB8    r4, r1, r2
    SEL      r4, r2, r1
Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0204IK
Non-Confidential