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 _strncpy_PARM_3
11 11 .globl _strncpy_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 _strncpy_sloc0_1_0:
25 0003 25 _strncpy_sloc1_1_0:
27 27 ;--------------------------------------------------------
28 28 ; overlayable items in internal ram
29 29 ;--------------------------------------------------------
30 30 .area OSEG (OVR,DATA)
31 31 ;--------------------------------------------------------
32 32 ; indirectly addressable internal ram data
33 33 ;--------------------------------------------------------
35 35 ;--------------------------------------------------------
37 37 ;--------------------------------------------------------
39 39 ;--------------------------------------------------------
40 40 ; external ram data
41 41 ;--------------------------------------------------------
43 0000 43 _strncpy_PARM_2:
45 0003 45 _strncpy_PARM_3:
47 0005 47 _strncpy_d_1_1:
49 49 ;--------------------------------------------------------
50 50 ; global & static initialisations
51 51 ;--------------------------------------------------------
52 52 .area GSINIT (CODE)
53 53 ;--------------------------------------------------------
55 55 ;--------------------------------------------------------
57 0000 57 G$strncpy$0$0 ==.
59 59 ; -----------------------------------------
61 61 ; -----------------------------------------
73 0002 C0 83 73 push dph
74 0004 C0 82 74 push dpl
75 0006 90s00r05 75 mov dptr,#_strncpy_d_1_1
77 000B F0 77 movx @dptr,a
80 000F F0 80 movx @dptr,a
83 0013 F0 83 movx @dptr,a
85 0014 90s00r05 85 mov dptr,#_strncpy_d_1_1
86 0017 E0 86 movx a,@dptr
87 0018 F5*00 87 mov _strncpy_sloc0_1_0,a
89 001B E0 89 movx a,@dptr
90 001C F5*01 90 mov (_strncpy_sloc0_1_0 + 1),a
92 001F E0 92 movx a,@dptr
93 0020 F5*02 93 mov (_strncpy_sloc0_1_0 + 2),a
95 0022 AD*00 95 mov r5,_strncpy_sloc0_1_0
96 0024 AE*01 96 mov r6,(_strncpy_sloc0_1_0 + 1)
97 0026 AF*02 97 mov r7,(_strncpy_sloc0_1_0 + 2)
98 0028 90s00r00 98 mov dptr,#_strncpy_PARM_2
99 002B E0 99 movx a,@dptr
100 002C F5*03 100 mov _strncpy_sloc1_1_0,a
102 002F E0 102 movx a,@dptr
103 0030 F5*04 103 mov (_strncpy_sloc1_1_0 + 1),a
105 0033 E0 105 movx a,@dptr
106 0034 F5*05 106 mov (_strncpy_sloc1_1_0 + 2),a
107 0036 90s00r03 107 mov dptr,#_strncpy_PARM_3
108 0039 E0 108 movx a,@dptr
111 003C E0 111 movx a,@dptr
114 003E 8B 02 114 mov ar2,r3
115 0040 8C 00 115 mov ar0,r4
117 0043 BB FF 01 117 cjne r3,#0xff,00108$
120 0047 90s00r05 120 mov dptr,#_strncpy_d_1_1
122 004B F0 122 movx @dptr,a
125 004E F0 125 movx @dptr,a
128 0051 F0 128 movx @dptr,a
131 131 ; Peephole 110 removed ljmp by inverse jump logic
132 0054 60 33 132 jz 00103$
135 0056 C0 03 135 push ar3
136 0058 C0 04 136 push ar4
137 005A 8D 02 137 mov ar2,r5
138 005C 8E 00 138 mov ar0,r6
139 005E 8F 01 139 mov ar1,r7
141 0061 BD 00 01 141 cjne r5,#0x00,00110$
144 0065 85*03 82 144 mov dpl,_strncpy_sloc1_1_0
145 0068 85*04 83 145 mov dph,(_strncpy_sloc1_1_0 + 1)
146 006B 85*05 F0 146 mov b,(_strncpy_sloc1_1_0 + 2)
147 006E 05*03 147 inc _strncpy_sloc1_1_0
149 0071 B5*03 02 149 cjne a,_strncpy_sloc1_1_0,00111$
150 0074 05*04 150 inc (_strncpy_sloc1_1_0 + 1)
152 0076 12s00r00 152 lcall __gptrget
153 153 ; Peephole 191 removed redundant mov
155 007A 8A 82 155 mov dpl,r2
156 007C 88 83 156 mov dph,r0
157 007E 89 F0 157 mov b,r1
158 0080 12s00r00 158 lcall __gptrput
159 0083 D0 04 159 pop ar4
160 0085 D0 03 160 pop ar3
161 161 ; Peephole 132 changed ljmp to sjmp
162 0087 80 B5 162 sjmp 00101$
165 0089 85*00 82 165 mov dpl,_strncpy_sloc0_1_0
166 008C 85*01 83 166 mov dph,(_strncpy_sloc0_1_0 + 1)
167 008F 85*02 F0 167 mov b,(_strncpy_sloc0_1_0 + 2)
169 0092 169 C$_strncpy.c$37$1$1 ==.
170 0092 170 XG$strncpy$0$0 ==.
172 172 .area CSEG (CODE)