source: trunk/Softwares/Basic_test/src/asm/asm_016_load.s

Last change on this file was 81, checked in by rosiere, 18 years ago
  • Finish Environment (and test)
  • Continue predictor_unit
  • Add external tools
  • svn keyword "Id" set
  • Property svn:keywords set to Id
File size: 2.4 KB
Line 
1/********************************************
2 * files : asm_016_load.s
3 * authors : Rosiere Mathieu
4 * date : 2006/06/20
5 ********************************************
6 * input : -
7 * output : 1 test OK
8 * 0 test KO
9 ********************************************
10 * test :
11 * warning : instruction ok
12 * l.addi
13 * l.and
14 * l.bf
15 * l.jal
16 * l.jr
17 * l.sw
18 ********************************************
19 */
20 .file "asm_016_load.s"
21 .section .text
22 .align 4
23
24 .global _asm_016_load
25_asm_016_load :
26 /* save context */
27 l.addi r1,r1,-16
28 /* 0 (r1) is reserved */
29 l.sw 4 (r1),r20
30 l.sw 8 (r1),r21
31 l.sw 12(r1),r22
32
33 /* Return is KO (default)*/
34 l.and r11,r0,r0
35
36 /* Value Not Signed */
37 l.movhi r20,0x1234
38 l.ori r20,r20,0x5678
39
40 /* TEST BYTES */
41 l.sb 0 (r1), r20
42 l.lbz r21, 0 (r1)
43 l.extbz r22,r20
44
45 l.sfeq r21,r22
46 l.bnf _asm_016_load_ko
47 l.nop 1
48
49 l.lbs r21, 0 (r1)
50 l.extbs r22,r20
51
52 l.sfeq r21,r22
53 l.bnf _asm_016_load_ko
54 l.nop 1
55
56 /* TEST HALF WORD */
57 l.sh 0 (r1), r20
58 l.lhz r21, 0 (r1)
59 l.exthz r22,r20
60
61 l.sfeq r21,r22
62 l.bnf _asm_016_load_ko
63 l.nop 1
64
65 l.lhs r21, 0 (r1)
66 l.exths r22,r20
67
68 l.sfeq r21,r22
69 l.bnf _asm_016_load_ko
70 l.nop 1
71
72 /* TEST WORD */
73 l.sw 0 (r1), r20
74 l.lwz r21, 0 (r1)
75 l.extwz r22,r20
76
77 l.sfeq r21,r22
78 l.bnf _asm_016_load_ko
79 l.nop 1
80
81 l.lws r21, 0 (r1)
82 l.extws r22,r20
83
84 l.sfeq r21,r22
85 l.bnf _asm_016_load_ko
86 l.nop 1
87
88 /* Value Signed */
89 l.movhi r20,0xdead
90 l.ori r20,r20,0xbeaf
91
92 /* TEST BYTES */
93 l.sb 0 (r1), r20
94 l.lbz r21, 0 (r1)
95 l.extbz r22,r20
96
97 l.sfeq r21,r22
98 l.bnf _asm_016_load_ko
99 l.nop 1
100
101 l.lbs r21, 0 (r1)
102 l.extbs r22,r20
103
104 l.sfeq r21,r22
105 l.bnf _asm_016_load_ko
106 l.nop 1
107
108 /* TEST HALF WORD */
109 l.sh 0 (r1), r20
110 l.lhz r21, 0 (r1)
111 l.exthz r22,r20
112
113 l.sfeq r21,r22
114 l.bnf _asm_016_load_ko
115 l.nop 1
116
117 l.lhs r21, 0 (r1)
118 l.exths r22,r20
119
120 l.sfeq r21,r22
121 l.bnf _asm_016_load_ko
122 l.nop 1
123
124 /* TEST WORD */
125 l.sw 0 (r1), r20
126 l.lwz r21, 0 (r1)
127 l.extwz r22,r20
128
129 l.sfeq r21,r22
130 l.bnf _asm_016_load_ko
131 l.nop 1
132
133 l.lws r21, 0 (r1)
134 l.extws r22,r20
135
136 l.sfeq r21,r22
137 l.bnf _asm_016_load_ko
138 l.nop 1
139
140_asm_016_load_ok :
141 l.addi r11,r0,1
142_asm_016_load_ko :
143
144 /* load context */
145 l.lwz r22,12(r1)
146 l.lwz r21,8 (r1)
147 l.lwz r20,4 (r1)
148 /* 0 (r1) is reserved */
149 l.jr r9
150 l.addi r1,r1,16
Note: See TracBrowser for help on using the repository browser.