summaryrefslogtreecommitdiffstats
path: root/tests/100-instructions/insn_BCD.awl
blob: 9bf7aa180ed70378f68d42d7d20ae3aeedb5cc2e (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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
	// Check BTI
	L		W#16#0123
	BTI
	__ASSERT==	__ACCU 1,	123
	L		W#16#8123
	BTI
	__ASSERT==	__ACCU 1,	W#16#FF85


	// Check ITB
	L		321
	ITB
	__ASSERT==	__ACCU 1,	W#16#321
	L		-321
	ITB
	__ASSERT==	__ACCU 1,	DW#16#F321
	__STWRST
	L		1000
	__ASSERT==	__STW OV,	0
	__ASSERT==	__STW OS,	0
	ITB
	__ASSERT==	__STW OV,	1
	__ASSERT==	__STW OS,	1
	__STWRST
	L		-1000
	__ASSERT==	__STW OV,	0
	__ASSERT==	__STW OS,	0
	ITB
	__ASSERT==	__STW OV,	1
	__ASSERT==	__STW OS,	1
	L		321
	ITB
	__ASSERT==	__STW OV,	0
	__ASSERT==	__STW OS,	1


	// Check BTD
	L		DW#16#01234567
	BTD
	__ASSERT==	__ACCU 1,	L#1234567
	L		DW#16#81234567
	BTD
	__ASSERT==	__ACCU 1,	DW#16#0xFFED2979


	// Check DTB
	L		L#7654321
	DTB
	__ASSERT==	__ACCU 1,	DW#16#7654321
	L		L#-7654321
	DTB
	__ASSERT==	__ACCU 1,	DW#16#F7654321
	__STWRST
	L		L#10000000
	__ASSERT==	__STW OV,	0
	__ASSERT==	__STW OS,	0
	DTB
	__ASSERT==	__STW OV,	1
	__ASSERT==	__STW OS,	1
	__STWRST
	L		L#-10000000
	__ASSERT==	__STW OV,	0
	__ASSERT==	__STW OS,	0
	DTB
	__ASSERT==	__STW OV,	1
	__ASSERT==	__STW OS,	1
	L		L#7654321
	DTB
	__ASSERT==	__STW OV,	0
	__ASSERT==	__STW OS,	1


	CALL SFC 46 // STOP CPU
bues.ch cgit interface