summaryrefslogtreecommitdiffstats
path: root/tests/insn_CALL.awl
blob: 6ca2c38420fe033530c550834861626fd4715b1e (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
FUNCTION FC 1 : VOID
BEGIN
	L		W#16#1234
	T		MW 0
	CALL		FC 2
END_FUNCTION


FUNCTION FC 2 : VOID
BEGIN
	L		W#16#6789
	T		MW 0
	L		10
	T		LB 0
END_FUNCTION


FUNCTION FC 3 : VOID
BEGIN
	L		1
	T		LB 0
	CALL		FC 2
	__ASSERT==	LB 0,	1
END_FUNCTION


ORGANIZATION_BLOCK OB 1
BEGIN
	CALL		FC 1
	__ASSERT==	MW 0,	W#16#6789
	L		0
	T		MW 0
	__ASSERT==	MW 0,	0
	UC		FC 1
	__ASSERT==	MW 0,	W#16#6789
	L		0
	T		MW 0
	__ASSERT==	MW 0,	0
	SET
	CC		FC 1
	__ASSERT==	MW 0,	W#16#6789
	L		0
	T		MW 0
	__ASSERT==	MW 0,	0
	CLR
	CC		FC 1
	__ASSERT==	MW 0,	0

	// Test localdata stack
	L		255
	T		LB 0
	__ASSERT==	LB 0,	255
	CALL		FC 3
	__ASSERT==	LB 0,	255
END_ORGANIZATION_BLOCK
bues.ch cgit interface