1 1 ;--------------------------------------------------------
2 2 ; File Created by SDCC : FreeWare ANSI-C Compiler
3 3 ; Version 2.1.9Ga Sun Jan 16 17:31:34 2000
5 5 ;--------------------------------------------------------
7 7 ;--------------------------------------------------------
8 8 ; publics variables in this module
9 9 ;--------------------------------------------------------
10 10 .globl _strrchr_PARM_2
12 12 ;--------------------------------------------------------
13 13 ; special function registers
14 14 ;--------------------------------------------------------
15 15 ;--------------------------------------------------------
16 16 ; special function bits
17 17 ;--------------------------------------------------------
18 18 ;--------------------------------------------------------
19 19 ; internal ram data
20 20 ;--------------------------------------------------------
22 0000 22 _strrchr_sloc0_1_0:
24 24 ;--------------------------------------------------------
25 25 ; overlayable items in internal ram
26 26 ;--------------------------------------------------------
27 27 .area OSEG (OVR,DATA)
28 28 ;--------------------------------------------------------
29 29 ; indirectly addressable internal ram data
30 30 ;--------------------------------------------------------
32 32 ;--------------------------------------------------------
34 34 ;--------------------------------------------------------
36 36 ;--------------------------------------------------------
37 37 ; external ram data
38 38 ;--------------------------------------------------------
40 0000 40 _strrchr_PARM_2:
42 0001 42 _strrchr_string_1_1:
44 44 ;--------------------------------------------------------
45 45 ; global & static initialisations
46 46 ;--------------------------------------------------------
47 47 .area GSINIT (CODE)
48 48 ;--------------------------------------------------------
50 50 ;--------------------------------------------------------
52 0000 52 G$strrchr$0$0 ==.
54 54 ; -----------------------------------------
56 56 ; -----------------------------------------
68 0002 C0 83 68 push dph
69 0004 C0 82 69 push dpl
70 0006 90s00r01 70 mov dptr,#_strrchr_string_1_1
72 000B F0 72 movx @dptr,a
75 000F F0 75 movx @dptr,a
78 0013 F0 78 movx @dptr,a
80 0014 90s00r01 80 mov dptr,#_strrchr_string_1_1
81 0017 E0 81 movx a,@dptr
84 001A E0 84 movx a,@dptr
87 001D E0 87 movx a,@dptr
90 001F 8A 05 90 mov ar5,r2
91 0021 8B 06 91 mov ar6,r3
92 0023 8C 07 92 mov ar7,r4
94 0025 C0 02 94 push ar2
95 0027 C0 03 95 push ar3
96 0029 C0 04 96 push ar4
97 002B 8D 00 97 mov ar0,r5
98 002D 8E 01 98 mov ar1,r6
99 002F 8F 02 99 mov ar2,r7
101 0032 BD 00 01 101 cjne r5,#0x00,00116$
104 0036 90s00r01 104 mov dptr,#_strrchr_string_1_1
106 003A F0 106 movx @dptr,a
109 003D F0 109 movx @dptr,a
112 0040 F0 112 movx @dptr,a
113 0041 88 82 113 mov dpl,r0
114 0043 89 83 114 mov dph,r1
115 0045 8A F0 115 mov b,r2
116 0047 12s00r00 116 lcall __gptrget
118 004B D0 04 118 pop ar4
119 004D D0 03 119 pop ar3
120 004F D0 02 120 pop ar2
122 122 ; Peephole 109 removed ljmp by inverse jump logic
123 0052 70 D1 123 jnz 00101$
126 0054 90s00r00 126 mov dptr,#_strrchr_PARM_2
127 0057 E0 127 movx a,@dptr
128 0058 F5*00 128 mov _strrchr_sloc0_1_0,a
130 005A 90s00r01 130 mov dptr,#_strrchr_string_1_1
131 005D E0 131 movx a,@dptr
132 005E 24 FF 132 add a,#0xff
135 0062 E0 135 movx a,@dptr
136 0063 34 FF 136 addc a,#0xff
139 0067 E0 139 movx a,@dptr
141 0069 90s00r01 141 mov dptr,#_strrchr_string_1_1
143 006D F0 143 movx @dptr,a
146 0070 F0 146 movx @dptr,a
149 0073 F0 149 movx @dptr,a
151 0075 B5 02 0A 151 cjne a,ar2,00118$
153 0079 B5 03 06 153 cjne a,ar3,00118$
155 007D B5 04 02 155 cjne a,ar4,00118$
156 156 ; Peephole 132 changed ljmp to sjmp
157 0080 80 20 157 sjmp 00107$
159 0082 C0 02 159 push ar2
160 0084 C0 03 160 push ar3
161 0086 C0 04 161 push ar4
162 0088 8E 82 162 mov dpl,r6
163 008A 8F 83 163 mov dph,r7
164 008C 88 F0 164 mov b,r0
165 008E 12s00r00 165 lcall __gptrget
166 166 ; Peephole 105 removed redundant mov
168 0092 B5*00 04 168 cjne a,_strrchr_sloc0_1_0,00119$
169 0095 74 01 169 mov a,#0x01
170 0097 80 01 170 sjmp 00120$
174 009A D0 04 174 pop ar4
175 009C D0 03 175 pop ar3
176 009E D0 02 176 pop ar2
177 177 ; Peephole 110 removed ljmp by inverse jump logic
178 00A0 60 B8 178 jz 00105$
182 00A2 8E 82 182 mov dpl,r6
183 00A4 8F 83 183 mov dph,r7
184 00A6 88 F0 184 mov b,r0
185 00A8 12s00r00 185 lcall __gptrget
186 186 ; Peephole 105 removed redundant mov
188 188 ; Peephole 132 changed ljmp to sjmp
189 189 ; Peephole 199 optimized misc jump sequence
190 00AC B5*00 08 190 cjne a,_strrchr_sloc0_1_0,00109$
191 191 ; Peephole 201 removed redundant sjmp
195 00AF 8E 82 195 mov dpl,r6
196 00B1 8F 83 196 mov dph,r7
197 00B3 88 F0 197 mov b,r0
198 198 ; Peephole 132 changed ljmp to sjmp
199 00B5 80 06 199 sjmp 00110$
202 202 ; Peephole 181 used 16 bit load of dptr
203 00B7 90 00 00 203 mov dptr,#0x0000
204 00BA 75 F0 00 204 mov b,#0x00
206 00BD 206 C$_strrchr.c$44$1$1 ==.
207 00BD 207 XG$strrchr$0$0 ==.
209 209 .area CSEG (CODE)