1# mach: bfin 2 3.include "testutils.inc" 4 start 5 6// Test pc relative indirect branches. 7 P4 = 0; 8 loadsym P1 jtab; 9 10LL1: 11 P2 = P1 + ( P4 << 1 ); 12 R0 = W [ P2 ] (Z); 13 P0 = R0; 14 R2 = P4; 15 16jp: 17 JUMP ( PC + P0 ); 18 19 DBGA ( R2.L , 0 ); 20 JUMP.L done; 21 22 DBGA ( R2.L , 1 ); 23 JUMP.L done; 24 25 DBGA ( R2.L , 2 ); 26 JUMP.L done; 27 28 DBGA ( R2.L , 3 ); 29 JUMP.L done; 30 31 DBGA ( R2.L , 4 ); 32 JUMP.L done; 33 34done: 35 P4 += 1; 36 CC = P4 < 4 (IU); 37 IF CC JUMP LL1; 38 pass 39 40 .data 41 42jtab: 43 .dw 2; //.dw (2+0*8) 44 .dw 10; //.dw (2+1*8) 45 .dw 18; //.dw (2+2*8) 46 .dw 26; //.dw (2+3*8) 47 .dw 34; //.dw (2+4*8) 48