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 ;--------------------------------------------------------
11 11 ;--------------------------------------------------------
12 12 ; special function registers
13 13 ;--------------------------------------------------------
14 14 ;--------------------------------------------------------
15 15 ; special function bits
16 16 ;--------------------------------------------------------
17 17 ;--------------------------------------------------------
18 18 ; internal ram data
19 19 ;--------------------------------------------------------
21 21 ;--------------------------------------------------------
22 22 ; overlayable items in internal ram
23 23 ;--------------------------------------------------------
24 24 .area OSEG (OVR,DATA)
25 25 ;--------------------------------------------------------
26 26 ; indirectly addressable internal ram data
27 27 ;--------------------------------------------------------
29 29 ;--------------------------------------------------------
31 31 ;--------------------------------------------------------
33 33 ;--------------------------------------------------------
34 34 ; external ram data
35 35 ;--------------------------------------------------------
37 0000 37 _strlen_str_1_1:
39 39 ;--------------------------------------------------------
40 40 ; global & static initialisations
41 41 ;--------------------------------------------------------
42 42 .area GSINIT (CODE)
43 43 ;--------------------------------------------------------
45 45 ;--------------------------------------------------------
47 0000 47 G$strlen$0$0 ==.
49 49 ; -----------------------------------------
51 51 ; -----------------------------------------
63 0002 C0 83 63 push dph
64 0004 C0 82 64 push dpl
65 0006 90s00r00 65 mov dptr,#_strlen_str_1_1
67 000B F0 67 movx @dptr,a
70 000F F0 70 movx @dptr,a
73 0013 F0 73 movx @dptr,a
75 0014 7A 00 75 mov r2,#0x00
76 0016 7B 00 76 mov r3,#0x00
77 0018 90s00r00 77 mov dptr,#_strlen_str_1_1
78 001B E0 78 movx a,@dptr
81 001E E0 81 movx a,@dptr
84 0021 E0 84 movx a,@dptr
87 0023 8C 07 87 mov ar7,r4
88 0025 8D 00 88 mov ar0,r5
89 0027 8E 01 89 mov ar1,r6
91 002A BC 00 01 91 cjne r4,#0x00,00108$
94 002E 90s00r00 94 mov dptr,#_strlen_str_1_1
96 0032 F0 96 movx @dptr,a
99 0035 F0 99 movx @dptr,a
102 0038 F0 102 movx @dptr,a
103 0039 8F 82 103 mov dpl,r7
104 003B 88 83 104 mov dph,r0
105 003D 89 F0 105 mov b,r1
106 003F 12s00r00 106 lcall __gptrget
107 107 ; Peephole 105 removed redundant mov
109 109 ; Peephole 110 removed ljmp by inverse jump logic
110 0043 60 07 110 jz 00103$
114 0046 BA 00 01 114 cjne r2,#0x00,00110$
117 117 ; Peephole 132 changed ljmp to sjmp
118 004A 80 D7 118 sjmp 00101$
121 004C 8A 82 121 mov dpl,r2
122 004E 8B 83 122 mov dph,r3
124 0050 124 C$_strlen.c$35$1$1 ==.
125 0050 125 XG$strlen$0$0 ==.
127 127 .area CSEG (CODE)