File: ld.s

package info (click to toggle)
binutils 2.34-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 328,380 kB
  • sloc: ansic: 1,180,155; asm: 665,310; cpp: 130,540; exp: 69,822; makefile: 57,183; sh: 22,559; yacc: 14,469; lisp: 13,785; perl: 2,112; ada: 1,681; lex: 1,650; pascal: 1,446; cs: 879; sed: 195; python: 154; xml: 95; awk: 25
file content (168 lines) | stat: -rw-r--r-- 4,163 bytes parent folder | download | duplicates (26)
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# Source file used to test the doubleword memory access macros
# (ld and friends).

# By default test ld.
	.set	r4, $4

# If defined, test sd instead.
	.ifdef	tsd
	.macro	ld ops:vararg
	sd	\ops
	.endm
	.endif
# If defined, test l.d instead.
	.ifdef	tl_d
	.set	r4, $f4
	.macro	ld ops:vararg
	l.d	\ops
	.endm
	.endif
# If defined, test s.d instead.
	.ifdef	ts_d
	.set	r4, $f4
	.macro	ld ops:vararg
	s.d	\ops
	.endm
	.endif
# If defined, test ldc1 instead.
	.ifdef	tldc1
	.set	r4, $f4
	.macro	ld ops:vararg
	ldc1	\ops
	.endm
	.endif
# If defined, test sdc1 instead.
	.ifdef	tsdc1
	.set	r4, $f4
	.macro	ld ops:vararg
	sdc1	\ops
	.endm
	.endif

	.macro	data
	.bss
	.align	12
	.sbss
	.align	12
	.data
	.align	12
data_label:
	.extern big_external_data_label,1000
	.extern small_external_data_label,1
	.comm big_external_common,1000
	.comm small_external_common,1
	.lcomm big_local_common,1000
	.lcomm small_local_common,1
	.endm

	.ifndef	forward
	data
	.endif

	.text
	.align	12
text_label:
	ld	r4,0
	ld	r4,1
	ld	r4,0x8000
	ld	r4,-0x8000
	ld	r4,0x10000
	ld	r4,0x1a5a5
	ld	r4,0($5)
	ld	r4,1($5)
	ld	r4,0x8000($5)
	ld	r4,-0x8000($5)
	ld	r4,0x10000($5)
	ld	r4,0x1a5a5($5)
	ld	r4,data_label
	ld	r4,big_external_data_label
	ld	r4,small_external_data_label
	ld	r4,big_external_common
	ld	r4,small_external_common
	ld	r4,big_local_common
	ld	r4,small_local_common
	ld	r4,data_label+1
	ld	r4,big_external_data_label+1
	ld	r4,small_external_data_label+1
	ld	r4,big_external_common+1
	ld	r4,small_external_common+1
	ld	r4,big_local_common+1
	ld	r4,small_local_common+1
	ld	r4,data_label+0x8000
	ld	r4,big_external_data_label+0x8000
	ld	r4,small_external_data_label+0x8000
	ld	r4,big_external_common+0x8000
	ld	r4,small_external_common+0x8000
	ld	r4,big_local_common+0x8000
	ld	r4,small_local_common+0x8000
	ld	r4,data_label-0x8000
	ld	r4,big_external_data_label-0x8000
	ld	r4,small_external_data_label-0x8000
	ld	r4,big_external_common-0x8000
	ld	r4,small_external_common-0x8000
	ld	r4,big_local_common-0x8000
	ld	r4,small_local_common-0x8000
	ld	r4,data_label+0x10000
	ld	r4,big_external_data_label+0x10000
	ld	r4,small_external_data_label+0x10000
	ld	r4,big_external_common+0x10000
	ld	r4,small_external_common+0x10000
	ld	r4,big_local_common+0x10000
	ld	r4,small_local_common+0x10000
	ld	r4,data_label+0x1a5a5
	ld	r4,big_external_data_label+0x1a5a5
	ld	r4,small_external_data_label+0x1a5a5
	ld	r4,big_external_common+0x1a5a5
	ld	r4,small_external_common+0x1a5a5
	ld	r4,big_local_common+0x1a5a5
	ld	r4,small_local_common+0x1a5a5
	ld	r4,data_label($5)
	ld	r4,big_external_data_label($5)
	ld	r4,small_external_data_label($5)
	ld	r4,big_external_common($5)
	ld	r4,small_external_common($5)
	ld	r4,big_local_common($5)
	ld	r4,small_local_common($5)
	ld	r4,data_label+1($5)
	ld	r4,big_external_data_label+1($5)
	ld	r4,small_external_data_label+1($5)
	ld	r4,big_external_common+1($5)
	ld	r4,small_external_common+1($5)
	ld	r4,big_local_common+1($5)
	ld	r4,small_local_common+1($5)
	ld	r4,data_label+0x8000($5)
	ld	r4,big_external_data_label+0x8000($5)
	ld	r4,small_external_data_label+0x8000($5)
	ld	r4,big_external_common+0x8000($5)
	ld	r4,small_external_common+0x8000($5)
	ld	r4,big_local_common+0x8000($5)
	ld	r4,small_local_common+0x8000($5)
	ld	r4,data_label-0x8000($5)
	ld	r4,big_external_data_label-0x8000($5)
	ld	r4,small_external_data_label-0x8000($5)
	ld	r4,big_external_common-0x8000($5)
	ld	r4,small_external_common-0x8000($5)
	ld	r4,big_local_common-0x8000($5)
	ld	r4,small_local_common-0x8000($5)
	ld	r4,data_label+0x10000($5)
	ld	r4,big_external_data_label+0x10000($5)
	ld	r4,small_external_data_label+0x10000($5)
	ld	r4,big_external_common+0x10000($5)
	ld	r4,small_external_common+0x10000($5)
	ld	r4,big_local_common+0x10000($5)
	ld	r4,small_local_common+0x10000($5)
	ld	r4,data_label+0x1a5a5($5)
	ld	r4,big_external_data_label+0x1a5a5($5)
	ld	r4,small_external_data_label+0x1a5a5($5)
	ld	r4,big_external_common+0x1a5a5($5)
	ld	r4,small_external_common+0x1a5a5($5)
	ld	r4,big_local_common+0x1a5a5($5)
	ld	r4,small_local_common+0x1a5a5($5)

# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
	.align	2
	.space	8

	.ifdef	forward
	data
	.endif