Commit | Line | Data |
---|---|---|
de6fb7e7 DB |
1 | # fr30 testcase for reti |
2 | # mach(): fr30 | |
3 | ||
4 | .include "testutils.inc" | |
5 | ||
6 | START | |
7 | ||
8 | .text | |
9 | .global reti | |
10 | reti: | |
11 | ; Test reti with low reset of ilm allowed | |
12 | mvr_h_gr sp,r8 ; Save stack pointer | |
13 | set_s_system | |
14 | set_i 1 | |
15 | set_ilm 15 ; attempt reset of low range | |
16 | set_cc 0x0f ; Condition codes should not change | |
17 | save_ps | |
18 | inci_h_gr -4,sp | |
19 | mvi_h_mem ret1,sp | |
20 | set_i 0 ; Set opposite of expected | |
21 | set_ilm 0 ; attempt reset of low range | |
22 | set_cc 0x00 ; Set opposite of expected | |
23 | ||
24 | reti | |
25 | fail | |
26 | ||
27 | ret1: | |
28 | test_cc 1 1 1 1 | |
29 | test_s_system | |
30 | test_i 1 | |
31 | test_ilm 15 | |
32 | testr_h_gr r8,sp | |
33 | ||
34 | ; Test reti with low reset of ilm not allowed | |
35 | mvr_h_gr sp,r8 ; Save stack pointer | |
36 | set_s_system | |
37 | set_i 0 | |
38 | set_ilm 15 ; attempt reset of low range | |
39 | set_cc 0x0f ; Condition codes should not change | |
40 | save_ps | |
41 | inci_h_gr -4,sp | |
42 | mvi_h_mem ret2,sp | |
43 | set_i 0 ; Set opposite of expected | |
44 | set_ilm 16 ; disallow reset of low range | |
45 | set_cc 0x00 ; Set opposite of expected | |
46 | ||
47 | reti | |
48 | fail | |
49 | ||
50 | ret2: | |
51 | test_cc 1 1 1 1 | |
52 | test_s_system | |
53 | test_i 0 | |
54 | test_ilm 31 | |
55 | testr_h_gr r8,sp | |
56 | ||
57 | pass |