1# mach: bfin 2 3.include "testutils.inc" 4 start 5 6 fp = sp; 7 8 [--SP]=RETS; 9 10 loadsym R1, _b; 11 loadsym R2, _a; 12 R0 = R2; 13 14 SP += -12; 15 R2 = 4; 16 17 CALL _dot; 18 R1 = R0; 19 20 R0 = 30; 21 dbga( r1.l, 0x1e); 22 23 24 pass 25 26_dot: 27 P0 = R1; 28 CC = R2 <= 0; 29 R3 = R0; 30 R0 = 0; 31 IF CC JUMP ._P1L1 (bp); 32 R0 = 1; 33 I0 = R3; 34 R0 = MAX (R0,R2) || R2 = [P0++] || NOP; 35 P1 = R0; 36 R0 = 0; 37 R1 = [I0++]; 38 LSETUP (._P1L4 , ._P1L5) LC0=P1; 39 40._P1L4: 41 R1 *= R2; 42._P1L5: 43 R0= R0 + R1 (NS) || R2 = [P0++] || R1 = [I0++]; 44 45._P1L1: 46 RTS; 47 48.data; 49_a: 50 .db 0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x00,0x00; 51 .db 0x04,0x00,0x00,0x00; 52 53_b: 54 .db 0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x00,0x00; 55 .db 0x04,0x00,0x00,0x00; 56