4.4.11. MIA, MIAPH 및 MIAxy

내부 누산 포함 곱하기 (32비트 x 32비트, 40비트 누산)

내부 누산 포함 곱하기, 패킹된 하프워드 (16비트 x 16비트 x 2, 40비트 누산)

내부 누산 포함 곱하기 (16비트 x 16비트, 40비트 누산)

구문

MIA{cond} Acc, Rn, Rm
MIAPH{cond} Acc, Rn, Rm
MIA<x><y>{cond} Acc, Rn, Rm

인수 설명:

cond

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

Acc

내부 누산기입니다. 표준 이름은 accx입니다. 여기서 x는 0에서 n 사이의 정수입니다. n의 값은 프로세서에 따라 달라집니다. 현재 프로세서에서는 0입니다.

Rn, Rm

곱할 값이 들어 있는 ARM 레지스터입니다.

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

<x><y>

다음 중 하나입니다. BB, BT, TB, TT

사용법

MIA 명령어는 RnRm의 부호 있는 정수를 곱하고 결과를 Acc의 40비트 값에 더합니다.

MIAPH 명령어는 RnRm의 하위 하프에 있는 부호 있는 정수를 곱하고 RnRm의 상위 하프에 있는 부호 있는 정수를 곱한 다음 두 개의 32비트 결과를 Acc의 40비트 값에 더합니다.

MIAxy 명령어는 Rs의 선택된 하프에서 부호 있는 정수와 Rm의 선택된 하프에서 부호 있는 정수를 곱한 다음 32비트 결과를 Acc의 40비트 값에 더합니다. <x> == BRn의 하위 하프 (비트[15:0]) 사용을 의미하고, <x> == TRn의 상위 하프 (비트[31:16]) 사용을 의미합니다. <y> == BRm의 하위 하프 (비트[15:0]) 사용을 의미하고, <y> == TRm의 상위 하프 (비트[31:16]) 사용을 의미합니다.

조건 플래그

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

Note

이러한 명령어는 예외를 발생시킬 수 없습니다. 이러한 명령어에서 오버플로가 발생하면 경고 없이 결과가 겹쳐집니다.

아키텍처

이러한 ARM 보조 프로세서 0 명령어는 XScale 프로세서에서만 사용할 수 있습니다.

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

예제

    MIA     acc0,r5,r0
    MIALE   acc0,r1,r9
    MIAPH   acc0,r0,r7
    MIAPHNE acc0,r11,r10
    MIABB   acc0,r8,r9
    MIABT   acc0,r8,r8
    MIATB   acc0,r5,r3
    MIATT   acc0,r0,r6
    MIABTGT acc0,r2,r5
Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0204IK
Non-Confidential