4.9.4. LDC, LDC2, STC 및 STC2

메모리와 보조 프로세서 간 데이터 전송

구문

op{L}{cond} coproc, CRd, [Rn]
op{L}{cond} coproc, CRd, [Rn, #{-}offset]{!}
op{L}{cond} coproc, CRd, [Rn], #{-}offset
op{L}{cond} coproc, CRd, label

인수 설명:

op

LDC, LDC2, STC 또는 STC2 중 하나입니다.

cond

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

ARM 코드에서 condLDC2 또는 STC2에 대해 허용되지 않습니다.

L

long 전송을 지정하는 선택적 접미사입니다.

coproc

명령어의 대상 프로세서 이름입니다. 표준 이름은 pn입니다. 여기서 n은 0에서 15 사이의 정수입니다.

CRd

로드 또는 저장할 보조 프로세서 레지스터입니다.

Rn

메모리 주소의 기준이 되는 레지스터입니다. r15를 지정하면 현재 명령어의 주소에 8을 더한 값이 사용됩니다.

-

선택적 빼기 기호입니다. -가 있으면 Rn에서 오프셋을 빼고, 그렇지 않으면 Rn에 오프셋을 더합니다.

offset

0 ~ 1020 범위에 있는 4의 배수로 평가되는 식입니다.

!

선택적 접미사입니다. ! 기호가 있으면 오프셋이 포함된 주소가 Rn에 다시 기록됩니다.

label

워드로 정렬된 프로그램 기준 식입니다. 자세한 내용은 레지스터 기준 및 프로그램 기준 식을 참조하십시오.

label은 현재 명령어의 1020바이트 내에 있어야 합니다.

사용법

이러한 명령어의 사용 방법은 보조 프로세서에 따라 다릅니다. 자세한 내용은 보조 프로세서 설명서를 참조하십시오.

Thumb-2EE에서는 기준 레지스터의 값이 0일 경우 실행이 HandlerBase - 4에서 NullCheck 처리기로 분기됩니다.

아키텍처

LDCSTC는 모든 버전의 ARM 아키텍처에서 사용할 수 있습니다.

LDC2STC2는 ARMv5 이상에서 사용할 수 있습니다.

이러한 32비트 Thumb 명령어는 ARMv6T2 이상에서 사용할 수 있습니다.

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

메모

STCSTC2 명령어에서 프로그램 기준 주소 지정을 향후 사용할 수 없습니다.

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