blob: 7406e8708fc66dcde1030ed38871f595867be229 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
//Original:/testcases/seq/se_rets_hazard/se_rets_hazard.dsp
# mach: bfin
.include "testutils.inc"
start
BOOT:
FP = SP; // and frame pointer
INIT_R_REGS 0; // initialize general purpose regs
ASTAT = r0; // reset sequencer registers
// The Main Program
START:
loadsym r1, SUB1;
RETS = r1;
RTS;
MID1:
CHECKREG r6, 0; // shouldn't be BAD
R6.L = 0xBAD2; // In case we come back to MID1
loadsym P1, MID2;
CALL ( P1 );
RTS;
MID2:
loadsym R1, END;
RETS = r1;
[ -- SP ] = I0;
LINK 0;
I0 = FP;
UNLINK;
RTS;
END:
pass // Call Endtest Macro
// Subroutines and Functions
SUB1: // Code goes here
CHECKREG r7, 0; // should be if sub executed
R7.L = 0xBAD; // In case we come back to SUB1
loadsym R2, MID1;
[ -- SP ] = R2;
RETS = [sp++];
RTS;
R6.L = 0xBAD;
|