1 1 ;--------------------------------------------------------
2 2 ; File Created by SDCC : FreeWare ANSI-C Compiler
3 3 ; Version 2.1.9Ga Sun Jan 16 17:31:33 2000
5 5 ;--------------------------------------------------------
7 7 ;--------------------------------------------------------
8 8 ; publics variables in this module
9 9 ;--------------------------------------------------------
10 10 .globl _strncat_PARM_3
11 11 .globl _strncat_PARM_2
13 13 ;--------------------------------------------------------
14 14 ; special function registers
15 15 ;--------------------------------------------------------
16 16 ;--------------------------------------------------------
17 17 ; special function bits
18 18 ;--------------------------------------------------------
19 19 ;--------------------------------------------------------
20 20 ; internal ram data
21 21 ;--------------------------------------------------------
23 0000 23 _strncat_sloc0_1_0:
25 0003 25 _strncat_sloc1_1_0:
27 0006 27 _strncat_sloc2_1_0:
29 29 ;--------------------------------------------------------
30 30 ; overlayable items in internal ram
31 31 ;--------------------------------------------------------
32 32 .area OSEG (OVR,DATA)
33 33 ;--------------------------------------------------------
34 34 ; indirectly addressable internal ram data
35 35 ;--------------------------------------------------------
37 37 ;--------------------------------------------------------
39 39 ;--------------------------------------------------------
41 41 ;--------------------------------------------------------
42 42 ; external ram data
43 43 ;--------------------------------------------------------
45 0000 45 _strncat_PARM_2:
47 0003 47 _strncat_PARM_3:
49 0005 49 _strncat_front_1_1:
51 51 ;--------------------------------------------------------
52 52 ; global & static initialisations
53 53 ;--------------------------------------------------------
54 54 .area GSINIT (CODE)
55 55 ;--------------------------------------------------------
57 57 ;--------------------------------------------------------
59 0000 59 G$strncat$0$0 ==.
61 61 ; -----------------------------------------
63 63 ; -----------------------------------------
75 0002 C0 83 75 push dph
76 0004 C0 82 76 push dpl
77 0006 90s00r05 77 mov dptr,#_strncat_front_1_1
79 000B F0 79 movx @dptr,a
82 000F F0 82 movx @dptr,a
85 0013 F0 85 movx @dptr,a
87 0014 90s00r05 87 mov dptr,#_strncat_front_1_1
88 0017 E0 88 movx a,@dptr
89 0018 F5*00 89 mov _strncat_sloc0_1_0,a
91 001B E0 91 movx a,@dptr
92 001C F5*01 92 mov (_strncat_sloc0_1_0 + 1),a
94 001F E0 94 movx a,@dptr
95 0020 F5*02 95 mov (_strncat_sloc0_1_0 + 2),a
98 0022 90s00r05 98 mov dptr,#_strncat_front_1_1
99 0025 E0 99 movx a,@dptr
102 0028 E0 102 movx a,@dptr
105 002B E0 105 movx a,@dptr
107 002D 74 01 107 mov a,#0x01
110 110 ; Peephole 180 changed mov to clr
112 0032 3E 112 addc a,r6
114 0034 8F 02 114 mov ar2,r7
115 0036 90s00r05 115 mov dptr,#_strncat_front_1_1
117 003A F0 117 movx @dptr,a
120 003D F0 120 movx @dptr,a
123 0040 F0 123 movx @dptr,a
124 0041 8D 82 124 mov dpl,r5
125 0043 8E 83 125 mov dph,r6
126 0045 8F F0 126 mov b,r7
127 0047 12s00r00 127 lcall __gptrget
128 128 ; Peephole 105 removed redundant mov
130 130 ; Peephole 109 removed ljmp by inverse jump logic
131 004B 70 D5 131 jnz 00101$
135 004E 24 FF 135 add a,#0xff
138 0052 34 FF 138 addc a,#0xff
140 0055 90s00r05 140 mov dptr,#_strncat_front_1_1
142 0059 F0 142 movx @dptr,a
145 005C F0 145 movx @dptr,a
148 005F F0 148 movx @dptr,a
150 0060 8C*06 150 mov _strncat_sloc2_1_0,r4
151 0062 8B*07 151 mov (_strncat_sloc2_1_0 + 1),r3
152 0064 8A*08 152 mov (_strncat_sloc2_1_0 + 2),r2
153 0066 90s00r00 153 mov dptr,#_strncat_PARM_2
154 0069 E0 154 movx a,@dptr
155 006A F5*03 155 mov _strncat_sloc1_1_0,a
157 006D E0 157 movx a,@dptr
158 006E F5*04 158 mov (_strncat_sloc1_1_0 + 1),a
160 0071 E0 160 movx a,@dptr
161 0072 F5*05 161 mov (_strncat_sloc1_1_0 + 2),a
162 0074 90s00r03 162 mov dptr,#_strncat_PARM_3
163 0077 E0 163 movx a,@dptr
166 007A E0 166 movx a,@dptr
169 007C 8D 01 169 mov ar1,r5
170 007E 88 02 170 mov ar2,r0
172 0081 BD FF 01 172 cjne r5,#0xff,00117$
177 177 ; Peephole 110 removed ljmp by inverse jump logic
178 0087 60 47 178 jz 00108$
181 0089 AA*06 181 mov r2,_strncat_sloc2_1_0
182 008B AB*07 182 mov r3,(_strncat_sloc2_1_0 + 1)
183 008D AC*08 183 mov r4,(_strncat_sloc2_1_0 + 2)
184 008F 05*06 184 inc _strncat_sloc2_1_0
186 0092 B5*06 02 186 cjne a,_strncat_sloc2_1_0,00119$
187 0095 05*07 187 inc (_strncat_sloc2_1_0 + 1)
189 0097 90s00r05 189 mov dptr,#_strncat_front_1_1
190 009A E5*06 190 mov a,_strncat_sloc2_1_0
191 009C F0 191 movx @dptr,a
193 009E E5*07 193 mov a,(_strncat_sloc2_1_0 + 1)
194 00A0 F0 194 movx @dptr,a
196 00A2 E5*08 196 mov a,(_strncat_sloc2_1_0 + 2)
197 00A4 F0 197 movx @dptr,a
198 00A5 85*03 82 198 mov dpl,_strncat_sloc1_1_0
199 00A8 85*04 83 199 mov dph,(_strncat_sloc1_1_0 + 1)
200 00AB 85*05 F0 200 mov b,(_strncat_sloc1_1_0 + 2)
201 00AE 05*03 201 inc _strncat_sloc1_1_0
203 00B1 B5*03 02 203 cjne a,_strncat_sloc1_1_0,00120$
204 00B4 05*04 204 inc (_strncat_sloc1_1_0 + 1)
206 00B6 12s00r00 206 lcall __gptrget
207 207 ; Peephole 190 removed redundant mov
208 208 ; Peephole 191 removed redundant mov
210 00BA 8A 82 210 mov dpl,r2
211 00BC 8B 83 211 mov dph,r3
212 00BE 8C F0 212 mov b,r4
213 00C0 12s00r00 213 lcall __gptrput
214 214 ; Peephole 109 removed ljmp by inverse jump logic
215 00C3 70 B7 215 jnz 00106$
218 00C5 85*00 82 218 mov dpl,_strncat_sloc0_1_0
219 00C8 85*01 83 219 mov dph,(_strncat_sloc0_1_0 + 1)
220 00CB 85*02 F0 220 mov b,(_strncat_sloc0_1_0 + 2)
221 221 ; Peephole 132 changed ljmp to sjmp
222 00CE 80 1E 222 sjmp 00109$
225 00D0 90s00r05 225 mov dptr,#_strncat_front_1_1
226 00D3 E0 226 movx a,@dptr
229 00D6 E0 229 movx a,@dptr
232 00D9 E0 232 movx a,@dptr
234 00DB 8A 82 234 mov dpl,r2
235 00DD 8B 83 235 mov dph,r3
236 00DF 8C F0 236 mov b,r4
237 237 ; Peephole 180 changed mov to clr
239 00E2 12s00r00 239 lcall __gptrput
241 00E5 85*00 82 241 mov dpl,_strncat_sloc0_1_0
242 00E8 85*01 83 242 mov dph,(_strncat_sloc0_1_0 + 1)
243 00EB 85*02 F0 243 mov b,(_strncat_sloc0_1_0 + 2)
245 00EE 245 C$_strncat.c$45$1$1 ==.
246 00EE 246 XG$strncat$0$0 ==.
248 248 .area CSEG (CODE)