t-mvtc.s revision 1.1.1.1 1 1.1 christos # mach: all
2 1.1 christos # output:
3 1.1 christos # sim: --environment operating
4 1.1 christos # as: -W
5 1.1 christos
6 1.1 christos .include "t-macros.i"
7 1.1 christos
8 1.1 christos start
9 1.1 christos
10 1.1 christos ;;; Try out each bit in the PSW
11 1.1 christos
12 1.1 christos loadpsw2 PSW_SM
13 1.1 christos checkpsw2 1 PSW_SM
14 1.1 christos
15 1.1 christos loadpsw2 PSW_01
16 1.1 christos checkpsw2 2 0 ;; PSW_01
17 1.1 christos
18 1.1 christos loadpsw2 PSW_EA
19 1.1 christos checkpsw2 3 PSW_EA
20 1.1 christos
21 1.1 christos loadpsw2 PSW_DB
22 1.1 christos checkpsw2 4 PSW_DB
23 1.1 christos
24 1.1 christos loadpsw2 PSW_DM
25 1.1 christos checkpsw2 5 0 ;; PSW_DM
26 1.1 christos
27 1.1 christos loadpsw2 PSW_IE
28 1.1 christos checkpsw2 6 PSW_IE
29 1.1 christos
30 1.1 christos loadpsw2 PSW_RP
31 1.1 christos checkpsw2 7 PSW_RP
32 1.1 christos
33 1.1 christos loadpsw2 PSW_MD
34 1.1 christos checkpsw2 8 PSW_MD
35 1.1 christos
36 1.1 christos loadpsw2 PSW_FX|PSW_ST
37 1.1 christos checkpsw2 9 PSW_FX|PSW_ST
38 1.1 christos
39 1.1 christos ;; loadpsw2 PSW_ST
40 1.1 christos ;; checkpsw2 10
41 1.1 christos
42 1.1 christos loadpsw2 PSW_10
43 1.1 christos checkpsw2 11 0 ;; PSW_10
44 1.1 christos
45 1.1 christos loadpsw2 PSW_11
46 1.1 christos checkpsw2 12 0 ;; PSW_11
47 1.1 christos
48 1.1 christos loadpsw2 PSW_F0
49 1.1 christos checkpsw2 13 PSW_F0
50 1.1 christos
51 1.1 christos loadpsw2 PSW_F1
52 1.1 christos checkpsw2 14 PSW_F1
53 1.1 christos
54 1.1 christos loadpsw2 PSW_14
55 1.1 christos checkpsw2 15 0 ;; PSW_14
56 1.1 christos
57 1.1 christos loadpsw2 PSW_C
58 1.1 christos checkpsw2 16 PSW_C
59 1.1 christos
60 1.1 christos
61 1.1 christos ;;; Check that bit 0 (LSB) of the MOD_E & MOD_S registers are stuck at ZERO.
62 1.1 christos
63 1.1 christos ldi r6, #0xdead
64 1.1 christos mvtc r6, cr10
65 1.1 christos ldi r6, #0xbeef
66 1.1 christos mvtc r6, cr11
67 1.1 christos
68 1.1 christos mvfc r7, cr10
69 1.1 christos check 17 r7 0xdeac
70 1.1 christos mvfc r7, cr11
71 1.1 christos check 18 r7 0xbeee
72 1.1 christos
73 1.1 christos ;;; Check that certain bits of the PSW, DPSW and BPSW are hardwired to zero
74 1.1 christos
75 1.1 christos psw_ffff:
76 1.1 christos ldi r6, 0xffff
77 1.1 christos mvtc r6, psw
78 1.1 christos mvfc r7, psw
79 1.1 christos check 18 r7 0xb7cd
80 1.1 christos
81 1.1 christos bpsw_ffff:
82 1.1 christos ldi r6, 0xffff
83 1.1 christos mvtc r6, bpsw
84 1.1 christos mvfc r7, bpsw
85 1.1 christos check 18 r7 0xb7cd
86 1.1 christos
87 1.1 christos dpsw_ffff:
88 1.1 christos ldi r6, 0xffff
89 1.1 christos mvtc r6, dpsw
90 1.1 christos mvfc r7, dpsw
91 1.1 christos check 18 r7 0xb7cd
92 1.1 christos
93 1.1 christos ;;; Another check. Very similar
94 1.1 christos
95 1.1 christos psw_dfff:
96 1.1 christos ldi r6, 0xdfff
97 1.1 christos mvtc r6, psw
98 1.1 christos mvfc r7, psw
99 1.1 christos check 18 r7 0x97cd
100 1.1 christos
101 1.1 christos bpsw_dfff:
102 1.1 christos ldi r6, 0xdfff
103 1.1 christos mvtc r6, bpsw
104 1.1 christos mvfc r7, bpsw
105 1.1 christos check 18 r7 0x97cd
106 1.1 christos
107 1.1 christos dpsw_dfff:
108 1.1 christos ldi r6, 0xdfff
109 1.1 christos mvtc r6, dpsw
110 1.1 christos mvfc r7, dpsw
111 1.1 christos check 18 r7 0x97cd
112 1.1 christos
113 1.1 christos ;;; And again.
114 1.1 christos
115 1.1 christos psw_8005:
116 1.1 christos ldi r6, 0x8005
117 1.1 christos mvtc r6, psw
118 1.1 christos mvfc r7, psw
119 1.1 christos check 18 r7 0x8005
120 1.1 christos
121 1.1 christos bpsw_8005:
122 1.1 christos ldi r6, 0x8005
123 1.1 christos mvtc r6, bpsw
124 1.1 christos mvfc r7, bpsw
125 1.1 christos check 18 r7 0x8005
126 1.1 christos
127 1.1 christos dpsw_8005:
128 1.1 christos ldi r6, 0x8005
129 1.1 christos mvtc r6, dpsw
130 1.1 christos mvfc r7, dpsw
131 1.1 christos check 18 r7 0x8005
132 1.1 christos
133 1.1 christos
134 1.1 christos exit0
135