1 1 ;--------------------------------------------------------
2 2 ; File Created by SDCC : FreeWare ANSI-C Compiler
3 3 ; Version 2.1.9Ga Sun Jan 16 17:31:40 2000
5 5 ;--------------------------------------------------------
7 7 ;--------------------------------------------------------
8 8 ; publics variables in this module
9 9 ;--------------------------------------------------------
10 10 .globl _strcat_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 _strcat_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 _strcat_PARM_2:
42 0003 42 _strcat_dst_1_1:
44 44 ;--------------------------------------------------------
45 45 ; global & static initialisations
46 46 ;--------------------------------------------------------
47 47 .area GSINIT (CODE)
48 48 ;--------------------------------------------------------
50 50 ;--------------------------------------------------------
52 0000 52 G$strcat$0$0 ==.
54 54 ; -----------------------------------------
56 56 ; -----------------------------------------
68 0002 C0 83 68 push dph
69 0004 C0 82 69 push dpl
70 0006 90s00r03 70 mov dptr,#_strcat_dst_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 90s00r03 80 mov dptr,#_strcat_dst_1_1
81 0017 E0 81 movx a,@dptr
84 001A E0 84 movx a,@dptr
87 001D E0 87 movx a,@dptr
91 001F 8A 82 91 mov dpl,r2
92 0021 8B 83 92 mov dph,r3
93 0023 8C F0 93 mov b,r4
94 0025 12s00r00 94 lcall __gptrget
95 95 ; Peephole 105 removed redundant mov
97 97 ; Peephole 110 removed ljmp by inverse jump logic
98 0029 60 07 98 jz 00111$
102 002C BA 00 01 102 cjne r2,#0x00,00114$
106 106 ; Peephole 132 changed ljmp to sjmp
107 0030 80 ED 107 sjmp 00101$
109 0032 90s00r00 109 mov dptr,#_strcat_PARM_2
110 0035 E0 110 movx a,@dptr
111 0036 F5*00 111 mov _strcat_sloc0_1_0,a
113 0039 E0 113 movx a,@dptr
114 003A F5*01 114 mov (_strcat_sloc0_1_0 + 1),a
116 003D E0 116 movx a,@dptr
117 003E F5*02 117 mov (_strcat_sloc0_1_0 + 2),a
119 0040 8A 00 119 mov ar0,r2
120 0042 8B 01 120 mov ar1,r3
121 0044 8C 05 121 mov ar5,r4
123 0047 BA 00 01 123 cjne r2,#0x00,00115$
126 004B 85*00 82 126 mov dpl,_strcat_sloc0_1_0
127 004E 85*01 83 127 mov dph,(_strcat_sloc0_1_0 + 1)
128 0051 85*02 F0 128 mov b,(_strcat_sloc0_1_0 + 2)
129 0054 05*00 129 inc _strcat_sloc0_1_0
131 0057 B5*00 02 131 cjne a,_strcat_sloc0_1_0,00116$
132 005A 05*01 132 inc (_strcat_sloc0_1_0 + 1)
134 005C 12s00r00 134 lcall __gptrget
135 135 ; Peephole 190 removed redundant mov
136 136 ; Peephole 191 removed redundant mov
138 0060 88 82 138 mov dpl,r0
139 0062 89 83 139 mov dph,r1
140 0064 8D F0 140 mov b,r5
141 0066 12s00r00 141 lcall __gptrput
142 142 ; Peephole 109 removed ljmp by inverse jump logic
143 0069 70 D5 143 jnz 00104$
146 006B 90s00r03 146 mov dptr,#_strcat_dst_1_1
147 006E E0 147 movx a,@dptr
150 0071 E0 150 movx a,@dptr
153 0074 E0 153 movx a,@dptr
155 0076 8A 82 155 mov dpl,r2
156 0078 8B 83 156 mov dph,r3
157 007A 8C F0 157 mov b,r4
159 007C 159 C$_strcat.c$40$1$1 ==.
160 007C 160 XG$strcat$0$0 ==.
162 162 .area CSEG (CODE)