aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite/bfin/fsm.s
blob: a15ffa0c12b88ac81fbceb512bca9c00503e0573 (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
56
57
# mach: bfin

.include "testutils.inc"
	start


	R1 = 0;
	R0 = R1;
	R7 = 7;
L$10:
	CC = R0 == 1;
	IF CC JUMP L$14;
	CC = R0 <= 1;
	IF !CC JUMP L$30;
	CC = R0 == 0;
	IF CC JUMP L$12;
	JUMP.S L$25;
L$30:
	CC = R0 == R7;
	IF CC JUMP L$16;
	R5 = 17;
	CC = R0 == R5;
	IF CC JUMP L$23;
	JUMP.S L$25;
L$12:
	R1 += 5;
	R0 = 1;
	JUMP.S L$8;
L$14:
	R1 <<= 4;
	R0 = 4;
	JUMP.S L$8;
L$16:
	CC = BITTST ( R1 , 3 );
	IF CC JUMP L$17;
	BITSET( R1 , 3 );
	R0 = 4;
	JUMP.S L$20;
L$17:
	BITSET( R1 , 5 );
	R0 = 14;
L$20:
	JUMP.S L$8;
L$23:
	R5 = 13;
	R1 = R1 ^ R5;
	R0 = 20;
	JUMP.S L$8;
L$25:
	R1 += 1;
	R0 += 1;
L$8:
	R5 = 19;
	CC = R0 <= R5;
	IF CC JUMP L$10 (BP);
	DBGA ( R0.L , 20 );	DBGA ( R1.L , 140 );
	pass