aboutsummaryrefslogtreecommitdiffstats
path: root/tests/t_avr/t_avr.asm
blob: e84e084306dd23f7da7d24a0e961defda846066e (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
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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
	cpu     at90s8515
	page    0
	include regavr.inc

	adc     r3,r1

	add     r28,r28

	and     r2,r16

	andi    r19,$aa

	adiw    r26,14

	asr     r17

	bclr    7

	bld     r0,4

	brbc    1,*

	brbs    6,*

	brcc    next    ; 1   = 01

	brcs    next    ; 0   = 00
next:
	breq    next    ; -1  = 7F

	brge    next    ; -2  = 7E

	brsh    next    ; -3  = 7D

	brid    next    ; -4  = 7C

	brie    next    ; -5  = 7B

	brlo    next    ; -6  = 7A

	brlt    next    ; -7  = 79

	brmi    next    ; -8  = 78

	brne    next    ; -9  = 77

	brhc    next    ; -10 = 76

	brhs    next    ; -11 = 75

	brpl    next    ; -12 = 74

	brtc    next    ; -13 = 73

	brts    next    ; -14 = 72

	brvc    next    ; -15 = 71

	brvs    next    ; -16 = 70

	bset    6

	bst     r1,2

;	call    $123456

	cbr     r16,$f0

	cbi     $12,7

	clc

	cli

	cln

	clh

	clr     r18

	cls

	clt

	clv

	clz

	com     r4

	cp      r4,r19

	cpc     r3,r1

	cpi     r19,3

	cpse    r4,r0

	dec     r17

	eor     r0,r22

	icall

	ijmp

	in      r23,$34

	inc     r22

;	jmp     $123456

	ld      r2,x
	ld      r0,x+
	ld      r3,-x

	ld      r1,y
	ld      r0,y+
	ld      r3,-y
	ldd     r4,y+$33

	ld      r1,z
	ld      r0,z+
	ld      r3,-z
	ldd     r4,z+$33

	ldi     r30,$f0

	lds     r2,$ff00

	lpm

	lsl     r0

	lsr     r0

	mov     r16,r0

;        mul     r6,r5

	neg     r11

	nop

	or      r15,r16

	ori     r16,$f0

	out     $18,r16

	pop     r13

	push    r14

	rcall   *

	ret

	reti

	rjmp    *

	rol     r15

	ror     r15

	sbc     r3,r1

	sbci    r17,$4f

	sbi     $1c,3

	sbic    $1c,1

	sbis    $10,3

	sbr     r16,3

	sbrc    r0,7

	sbrs    r0,7

	sec

	sei

	sen

	seh

	ser     r17

	ses

	set

	sev

	sez

	sleep

	st      x,r1
	st      x+,r0
	st      -x,r3

	st      y,r1
	st      y+,r0
	st      -y,r3
	std     y+2,r4

	st      z,r1
	st      z+,r0
	st      -z,r3
	std     z+2,r4

	sts     $ff00,r2

	sub     r13,r12

	subi    r22,$11

	swap    r1

	tst     r3

	wdr