4.3.4. AND, ORR, EOR, BIC 및 ORN

논리 AND, OR, 배타적 OR, 비트 지우기 및 OR NOT

구문

op{S}{cond} Rd, Rn, Operand2

인수 설명:

op

다음 중 하나입니다.

AND

논리 AND

ORR

논리 OR

EOR

논리 배타적 OR

BIC

논리 AND NOT

ORN

논리 OR NOT (Thumb-2에만 해당)

S

선택적 접미사입니다. S를 지정하면 연산 결과의 조건 코드 플래그가 업데이트됩니다 (조건부 실행 참조).

cond

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

Rd

대상 레지스터입니다.

Rn

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

Operand2

유연한 두 번째 피연산자입니다. 옵션에 대한 자세한 내용은 유연한 두 번째 피연산자를 참조하십시오.

사용법

AND, EORORR 명령어는 RnOperand2의 값에 대해 비트 AND, 배타적 OR 및 OR 연산을 수행합니다.

BIC (비트 지우기) 명령어는 Operand2 값의 해당 비트 보수가 포함된 Rn의 비트에 대해 AND 연산을 수행합니다.

ORN Thumb-2 명령어는 Operand2 값의 해당 비트 보수가 포함된 Rn의 비트에 대해 OR 연산을 수행합니다.

경우에 따라 어셈블러가 BICAND로, ANDBIC로, ORNORR로 또는 ORRORN으로 대체할 수 있습니다. 디스어셈블리 목록을 읽을 때는 이러한 사항에 주의해야 합니다. 자세한 내용은 명령어 대체를 참조하십시오.

Thumb-2 명령어에서 pc 사용

이러한 명령어의 Rd 또는 피연산자에 pc (r15) 를 사용할 수 없습니다.

ARM 명령어에서 pc 사용

Note

이러한 ARM 명령어에서 pc를 향후 사용할 수 없습니다.

pc를 Rn으로 사용하면 명령어 주소에 8을 더한 값이 사용됩니다.

pc를 Rd로 사용할 경우 다음 사항이 적용됩니다.

  • 실행이 결과에 해당하는 주소로 분기됩니다.

  • S 접미사를 사용하면 현재 모드의 SPSR이 CPSR로 복사됩니다. 이 접미사를 사용하여 예외에서 복귀할 수 있습니다 (개발자 설명서의 6장 프로세서 예외 처리 참조).

Caution

사용자 모드 또는 시스템 모드에서 pc를 Rd로 사용할 경우 S 접미사를 사용하면 안 됩니다. 이러한 명령어를 실행하면 예상할 수 없는 결과가 발생하지만 어셈블러에서 어셈블리 타임에 경고를 표시할 수 없습니다.

레지스터에 의해 제어된 시프트가 있는 데이터 처리 명령어에서는 피연산자에 pc를 사용할 수 없습니다 (유연한 두 번째 피연산자 참조).

조건 플래그

S를 지정하면 이러한 명령어는 다음을 수행합니다.

  • 결과에 따라 N 및 Z 플래그를 업데이트합니다.

  • Operand2를 계산하는 동안 C 플래그를 업데이트할 수 있습니다 (유연한 두 번째 피연산자 참조).

  • V 플래그를 변경하지 않습니다.

16비트 명령어

이러한 명령어의 다음 형식은 Thumb-2 이전 Thumb 코드에서 사용할 수 있으며, Thumb-2 코드에서 사용될 경우 16비트 명령어입니다.

ANDS Rd, Rd, Rm

RdRm은 모두 Lo 레지스터여야 합니다.

EORS Rd, Rd, Rm

RdRm은 모두 Lo 레지스터여야 합니다.

ORRS Rd, Rd, Rm

RdRm은 모두 Lo 레지스터여야 합니다.

BICS Rd, Rd, Rm

RdRm은 모두 Lo 레지스터여야 합니다.

처음 세 경우에서는 OPS Rd, Rm, Rd를 지정하는지 여부에 관계없이 명령어가 동일합니다.

예제

    AND     r9,r2,#0xFF00
    ORREQ   r2,r0,r5
    EORS    r0,r0,r3,ROR r6
    ANDS    r9, r8, #0x19
    EORS    r7, r11, #0x18181818 
    BIC     r0, r1, #0xab
    ORN     r7, r11, r14, ROR #4
    ORNS    r7, r11, r14, ASR #32

올바르지 않은 예제

    EORS    r0,pc,r3,ROR r6     ; pc not permitted with register
                                ; controlled shift
Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0204IK
Non-Confidential