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
|
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
.SPACE $TEXT$
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.IMPORT $global$,DATA
.IMPORT $$dyncall,MILLICODE
; gcc_compiled.:
.SPACE $PRIVATE$
.SUBSPA $DATA$
.align 4
tab___2
.word L$0002
.word L$0003
.word L$0004
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.EXPORT execute,CODE
.EXPORT execute,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR
execute
.PROC
.CALLINFO FRAME=0,NO_CALLS
.ENTRY
addil L'buf-$global$,%r27
ldo R'buf-$global$(%r1),%r20
ldil L'L$0002,%r19
movb,<> %r26,%r26,L$0002
ldo R'L$0002(%r19),%r22
copy %r0,%r21
addil L'tab___2-$global$,%r27
ldo R'tab___2-$global$(%r1),%r23
addil L'optab-$global$,%r27
ldo R'optab-$global$(%r1),%r20
L$0009
sh2add %r21,%r23,%r19
ldh 2(%r19),%r19
ldo 1(%r21),%r21
sub %r19,%r22,%r19
comib,>= 2,%r21,L$0009
sths,ma %r19,2(%r20)
bv,n %r0(%r2)
L$0002
ldi 120,%r19
stbs,ma %r19,1(%r20)
ldhs,ma 2(%r26),%r19
add %r22,%r19,%r19
bv,n %r0(%r19)
L$0003
ldi 121,%r19
stbs,ma %r19,1(%r20)
ldhs,ma 2(%r26),%r19
add %r22,%r19,%r19
bv,n %r0(%r19)
L$0004
ldi 122,%r19
stb %r19,0(%r20)
bv %r0(%r2)
stbs,mb %r0,1(%r20)
.EXIT
.PROCEND
.IMPORT __main,CODE
.IMPORT strcmp,CODE
.SPACE $TEXT$
.SUBSPA $LIT$
.align 4
L$C0000
.STRING "xyxyz\x00"
.IMPORT abort,CODE
.IMPORT exit,CODE
.SPACE $TEXT$
.SUBSPA $CODE$
.align 4
.EXPORT main,CODE
.EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR
main
.PROC
.CALLINFO FRAME=128,CALLS,SAVE_RP
.ENTRY
stw %r2,-20(%r30)
.CALL
bl __main,%r2
ldo 128(%r30),%r30
.CALL ARGW0=GR
bl execute,%r2
copy %r0,%r26
addil L'optab-$global$,%r27
copy %r1,%r19
ldo R'optab-$global$(%r19),%r21
ldh 2(%r21),%r20
ldh R'optab-$global$(%r19),%r19
addil L'p-$global$,%r27
copy %r1,%r22
sth %r20,R'p-$global$(%r22)
ldo R'p-$global$(%r22),%r26
sth %r20,4(%r26)
sth %r19,2(%r26)
ldh 4(%r21),%r19
.CALL ARGW0=GR
bl execute,%r2
sth %r19,6(%r26)
addil L'buf-$global$,%r27
copy %r1,%r19
ldo R'buf-$global$(%r19),%r26
ldil L'L$C0000,%r25
.CALL ARGW0=GR,ARGW1=GR
bl strcmp,%r2
ldo R'L$C0000(%r25),%r25
comib,=,n 0,%r28,L$0011
.CALL
bl abort,%r2
nop
L$0011
.CALL ARGW0=GR
bl exit,%r2
copy %r0,%r26
nop
.EXIT
.PROCEND
.SPACE $PRIVATE$
.SUBSPA $BSS$
optab .comm 10
buf .comm 10
p .comm 10
|