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 _strncmp_PARM_3
11 11 .globl _strncmp_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 23 ;--------------------------------------------------------
24 24 ; overlayable items in internal ram
25 25 ;--------------------------------------------------------
26 26 .area OSEG (OVR,DATA)
27 27 ;--------------------------------------------------------
28 28 ; indirectly addressable internal ram data
29 29 ;--------------------------------------------------------
31 31 ;--------------------------------------------------------
33 33 ;--------------------------------------------------------
35 35 ;--------------------------------------------------------
36 36 ; external ram data
37 37 ;--------------------------------------------------------
39 0000 39 _strncmp_PARM_2:
41 0003 41 _strncmp_PARM_3:
43 0005 43 _strncmp_first_1_1:
45 45 ;--------------------------------------------------------
46 46 ; global & static initialisations
47 47 ;--------------------------------------------------------
48 48 .area GSINIT (CODE)
49 49 ;--------------------------------------------------------
51 51 ;--------------------------------------------------------
53 0000 53 G$strncmp$0$0 ==.
55 55 ; -----------------------------------------
57 57 ; -----------------------------------------
69 0002 C0 83 69 push dph
70 0004 C0 82 70 push dpl
71 0006 90s00r05 71 mov dptr,#_strncmp_first_1_1
73 000B F0 73 movx @dptr,a
76 000F F0 76 movx @dptr,a
79 0013 F0 79 movx @dptr,a
81 0014 90s00r03 81 mov dptr,#_strncmp_PARM_3
82 0017 E0 82 movx a,@dptr
85 001A E0 85 movx a,@dptr
86 86 ; Peephole 135 removed redundant mov
89 89 ; Peephole 109 removed ljmp by inverse jump logic
90 001D 70 06 90 jnz 00114$
93 93 ; Peephole 181 used 16 bit load of dptr
94 001F 90 00 00 94 mov dptr,#0x0000
95 0022 02s00rAF 95 ljmp 00108$
98 0025 90s00r05 98 mov dptr,#_strncmp_first_1_1
99 0028 E0 99 movx a,@dptr
102 002B E0 102 movx a,@dptr
105 002E E0 105 movx a,@dptr
107 0030 90s00r00 107 mov dptr,#_strncmp_PARM_2
108 0033 E0 108 movx a,@dptr
111 0036 E0 111 movx a,@dptr
114 0039 E0 114 movx a,@dptr
117 003B 90s00r03 117 mov dptr,#_strncmp_PARM_3
118 003E E0 118 movx a,@dptr
119 003F 24 FF 119 add a,#0xff
122 0043 E0 122 movx a,@dptr
123 0044 34 FF 123 addc a,#0xff
125 0047 90s00r03 125 mov dptr,#_strncmp_PARM_3
127 004B F0 127 movx @dptr,a
130 004E F0 130 movx @dptr,a
133 133 ; Peephole 110 removed ljmp by inverse jump logic
134 0051 60 32 134 jz 00107$
136 0053 8A 82 136 mov dpl,r2
137 0055 8B 83 137 mov dph,r3
138 0057 8C F0 138 mov b,r4
139 0059 12s00r00 139 lcall __gptrget
140 140 ; Peephole 105 removed redundant mov
142 142 ; Peephole 110 removed ljmp by inverse jump logic
143 005D 60 26 143 jz 00107$
145 005F 8D 82 145 mov dpl,r5
146 0061 8E 83 146 mov dph,r6
147 0063 8F F0 147 mov b,r7
148 0065 12s00r00 148 lcall __gptrget
151 151 ; Peephole 132 changed ljmp to sjmp
152 152 ; Peephole 199 optimized misc jump sequence
153 006A B5 01 18 153 cjne a,ar1,00107$
154 154 ; Peephole 201 removed redundant sjmp
159 006E BA 00 01 159 cjne r2,#0x00,00120$
162 0072 90s00r05 162 mov dptr,#_strncmp_first_1_1
164 0076 F0 164 movx @dptr,a
167 0079 F0 167 movx @dptr,a
170 007C F0 170 movx @dptr,a
173 007E BD 00 01 173 cjne r5,#0x00,00121$
176 0082 02s00r3B 176 ljmp 00105$
179 0085 90s00r05 179 mov dptr,#_strncmp_first_1_1
181 0089 F0 181 movx @dptr,a
184 008C F0 184 movx @dptr,a
187 008F F0 187 movx @dptr,a
188 0090 8D 82 188 mov dpl,r5
189 0092 8E 83 189 mov dph,r6
190 0094 8F F0 190 mov b,r7
191 0096 12s00r00 191 lcall __gptrget
193 009A 8A 82 193 mov dpl,r2
194 009C 8B 83 194 mov dph,r3
195 009E 8C F0 195 mov b,r4
196 00A0 12s00r00 196 lcall __gptrget
197 197 ; Peephole 106 removed redundant mov
200 00A5 9D 200 subb a,r5
202 202 ; Peephole 180 changed mov to clr
204 00A8 94 00 204 subb a,#0x00
206 00AB 8A 82 206 mov dpl,r2
207 00AD 8D 83 207 mov dph,r5
209 00AF 209 C$_strncmp.c$42$1$1 ==.
210 00AF 210 XG$strncmp$0$0 ==.
212 212 .area CSEG (CODE)