4.2.14. SWP 및 SWPB

레지스터와 메모리 간 데이터 스왑

구문

SWP{B}{cond} Rt, Rt2, [Rn]

인수 설명:

cond

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

B

선택적 접미사입니다. B가 있으면 바이트가 스왑되고, 그렇지 않으면 32비트 워드가 스왑됩니다.

Rt

대상 레지스터입니다.

Rt2

소스 레지스터입니다. Rt2Rt와 동일한 레지스터일 수 있습니다.

Rn

메모리에 주소를 포함합니다. RnRtRt2 둘 다와 다른 레지스터여야 합니다.

사용법

SWPSWPB를 사용하여 세마포를 구현할 수 있습니다.

  • 메모리에 있는 데이터가 Rt로 로드됩니다.

  • Rt2의 내용이 메모리에 저장됩니다.

  • Rt2Rt와 동일한 레지스터이면 레지스터의 내용과 메모리 위치의 내용이 스왑됩니다.

참고

ARMv6 이상에서는 SWPSWPB를 향후 사용할 수 없습니다. ARMv6 이상에서 더 복잡한 세마포를 구현하는 명령어에 대해서는 LDREX 및 STREX를 참조하십시오.

아키텍처

이러한 ARM 명령어는 모든 버전의 ARM 아키텍처에서 사용할 수 있습니다.

Thumb SWP 또는 SWPB 명령어는 없습니다.

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