4.8.4. TBB 및 TBH

테이블 분기 바이트 및 테이블 분기 하프워드

구문

TBB [Rn, Rm]
TBH [Rn, Rm, LSL #1]

인수 설명:

Rn

기준 레지스터입니다. 이 레지스터에는 분기 길이 테이블의 주소가 포함됩니다. Rn은 r13이면 안 됩니다.

Rn에 r15를 지정하면 명령어 주소에 4를 더한 값이 사용됩니다.

Rm

인덱스 레지스터입니다. 테이블에 대한 인덱스가 포함되어 있습니다.

Rm은 r15 또는 r13이면 안 됩니다.

연산

이러한 명령어는 단일 바이트 오프셋 (TBB) 이나 하프워드 오프셋 (TBH) 테이블을 사용하여 pc 기준 정방향 분기를 생성합니다. Rn은 테이블에 대한 포인터를 제공하고 Rm은 테이블에 대한 인덱스를 제공합니다. 분기 길이는 테이블에서 반환된 바이트 (TBB) 또는 하프워드 (TBH) 값의 두 배입니다.

메모

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

아키텍처

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

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

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