47 lines
570 B
ArmAsm
47 lines
570 B
ArmAsm
# mach: bfin
|
|
|
|
.include "testutils.inc"
|
|
start
|
|
|
|
// Test pc relative indirect branches.
|
|
P4 = 0;
|
|
loadsym P1 jtab;
|
|
|
|
LL1:
|
|
P2 = P1 + ( P4 << 1 );
|
|
R0 = W [ P2 ] (Z);
|
|
P0 = R0;
|
|
R2 = P4;
|
|
|
|
jp:
|
|
JUMP ( PC + P0 );
|
|
|
|
DBGA ( R2.L , 0 );
|
|
JUMP.L done;
|
|
|
|
DBGA ( R2.L , 1 );
|
|
JUMP.L done;
|
|
|
|
DBGA ( R2.L , 2 );
|
|
JUMP.L done;
|
|
|
|
DBGA ( R2.L , 3 );
|
|
JUMP.L done;
|
|
|
|
DBGA ( R2.L , 4 );
|
|
JUMP.L done;
|
|
|
|
done:
|
|
P4 += 1;
|
|
CC = P4 < 4 (IU);
|
|
IF CC JUMP LL1;
|
|
pass
|
|
|
|
.data
|
|
|
|
jtab:
|
|
.dw 2; //.dw (2+0*8)
|
|
.dw 10; //.dw (2+1*8)
|
|
.dw 18; //.dw (2+2*8)
|
|
.dw 26; //.dw (2+3*8)
|
|
.dw 34; //.dw (2+4*8)
|