Skip to content

Commit 6692ca7

Browse files
committed
added new test
1 parent 4964373 commit 6692ca7

File tree

2 files changed

+98
-0
lines changed

2 files changed

+98
-0
lines changed

Test/Expect/stest317.p2asm

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
con
2+
_clkfreq = 20000000
3+
_clkmode = 16779595
4+
dat
5+
nop
6+
cogid pa
7+
coginit pa,##$404
8+
orgh $10
9+
long 0 'reserved
10+
long 0 ' clock frequency: will default to 20000000
11+
long 0 ' clock mode: will default to $100094b
12+
orgh $400
13+
_ret_ mov result1, #0
14+
org 0
15+
entry
16+
17+
_foo
18+
mov _foo_x, arg01
19+
rdlong foo_tmp002_, _foo_x
20+
mov foo_tmp003_, foo_tmp002_
21+
zerox foo_tmp002_, #19
22+
shr foo_tmp003_, #20
23+
shl foo_tmp003_, #2
24+
add foo_tmp003_, __methods__
25+
rdlong foo_tmp003_, foo_tmp003_
26+
add objptr, #4
27+
rdlong arg01, objptr
28+
sub objptr, #4
29+
mov foo_tmp005_, objptr
30+
mov objptr, foo_tmp002_
31+
call foo_tmp003_
32+
mov objptr, foo_tmp005_
33+
mov _foo_y, result1
34+
mov _foo_y_01, result2
35+
mov result1, _foo_y_01
36+
add _foo_x, #4
37+
rdlong result2, _foo_x
38+
add result1, result2
39+
_foo_ret
40+
ret
41+
builtin_bytefill_
42+
shr arg03, #1 wc
43+
if_c wrbyte arg02, arg01
44+
if_c add arg01, #1
45+
movbyts arg02, #0
46+
builtin_wordfill_
47+
shr arg03, #1 wc
48+
if_c wrword arg02, arg01
49+
if_c add arg01, #2
50+
setword arg02, arg02, #1
51+
builtin_longfill_
52+
wrfast #0,arg01
53+
cmp arg03, #0 wz
54+
if_nz rep #1, arg03
55+
if_nz wflong arg02
56+
ret
57+
58+
__methods__
59+
long @__methodtable__
60+
objptr
61+
long @objmem
62+
result1
63+
long 0
64+
result2
65+
long 1
66+
COG_BSS_START
67+
fit 480
68+
orgh
69+
__methodtable__
70+
objmem
71+
long 0[4]
72+
org COG_BSS_START
73+
_foo_x
74+
res 1
75+
_foo_y
76+
res 1
77+
_foo_y_01
78+
res 1
79+
arg01
80+
res 1
81+
foo_tmp002_
82+
res 1
83+
foo_tmp003_
84+
res 1
85+
foo_tmp005_
86+
res 1
87+
fit 480

Test/stest317.spin2

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{Spin2_v51}
2+
3+
CON
4+
struct sABC(Method, Time)
5+
6+
VAR sABC abc, y
7+
8+
PUB foo(^sABC x) : r | sABC y
9+
y := x.Method(abc.Time) : sABC
10+
return y.Time + x.Time
11+

0 commit comments

Comments
 (0)