1 .file "dbt03.c" 2 __SP_H__ = 0x3e 3 __SP_L__ = 0x3d 4 __SREG__ = 0x3f 5 __tmp_reg__ = 0 6 __zero_reg__ = 1 7 .text 9 dbt03IoCtrl.part.0: 10 /* prologue: function */ 11 /* frame size = 0 */ 12 /* stack size = 0 */ 13 .L__stack_usage = 0 14 0000 C09A sbi 0x18,0 15 0002 0895 ret 18 dbt03Dialtone: 19 0004 0F93 push r16 20 0006 1F93 push r17 21 0008 CF93 push r28 22 000a DF93 push r29 23 /* prologue: function */ 24 /* frame size = 0 */ 25 /* stack size = 4 */ 26 .L__stack_usage = 4 27 000c 8C01 movw r16,r24 28 000e C0E0 ldi r28,0 29 0010 D0E0 ldi r29,0 30 .L3: 31 0012 C017 cp r28,r16 32 0014 D107 cpc r29,r17 33 0016 01F0 breq .L6 34 0018 C098 cbi 0x18,0 35 001a 8AE0 ldi r24,lo8(10) 36 001c 00D0 rcall systemDelay100us 37 001e 00D0 rcall dbt03IoCtrl.part.0 38 0020 8AE0 ldi r24,lo8(10) 39 0022 00D0 rcall systemDelay100us 40 0024 2196 adiw r28,1 41 0026 00C0 rjmp .L3 42 .L6: 43 /* epilogue start */ 44 0028 DF91 pop r29 45 002a CF91 pop r28 46 002c 1F91 pop r17 47 002e 0F91 pop r16 48 0030 0895 ret 50 .global systemDbt03Init 52 systemDbt03Init: 53 /* prologue: function */ 54 /* frame size = 0 */ 55 /* stack size = 0 */ 56 .L__stack_usage = 0 57 0032 00D0 rcall dbt03IoCtrl.part.0 58 0034 B89A sbi 0x17,0 59 0036 9298 cbi 0x12,2 60 0038 8BB7 in r24,0x3b 61 003a 8064 ori r24,lo8(64) 62 003c 8BBF out 0x3b,r24 63 003e 85B7 in r24,0x35 64 0040 8260 ori r24,lo8(2) 65 0042 85BF out 0x35,r24 66 /* #APP */ 67 ; 90 "dbt03.c" 1 68 0044 7894 sei 69 ; 0 "" 2 70 /* #NOAPP */ 71 0046 0895 ret 73 .global systemDbt03Transmit 75 systemDbt03Transmit: 76 0048 0F93 push r16 77 004a 1F93 push r17 78 004c CF93 push r28 79 004e DF93 push r29 80 /* prologue: function */ 81 /* frame size = 0 */ 82 /* stack size = 4 */ 83 .L__stack_usage = 4 84 0050 082F mov r16,r24 85 /* #APP */ 86 ; 100 "dbt03.c" 1 87 0052 F894 cli 88 ; 0 "" 2 89 /* #NOAPP */ 90 0054 00D0 rcall dbt03IoCtrl.part.0 91 0056 82E5 ldi r24,lo8(82) 92 0058 00D0 rcall systemDelay10us 93 005a C0E0 ldi r28,0 94 005c D0E0 ldi r29,0 95 005e 10E0 ldi r17,0 96 0060 0095 com r16 97 0062 1095 com r17 98 .L12: 99 0064 C801 movw r24,r16 100 0066 0C2E mov r0,r28 101 0068 00C0 rjmp 2f 102 1: 103 006a 9595 asr r25 104 006c 8795 ror r24 105 2: 106 006e 0A94 dec r0 107 0070 02F4 brpl 1b 108 0072 80FF sbrs r24,0 109 0074 00C0 rjmp .L9 110 0076 00D0 rcall dbt03IoCtrl.part.0 111 0078 00C0 rjmp .L10 112 .L9: 113 007a C098 cbi 0x18,0 114 .L10: 115 007c 82E5 ldi r24,lo8(82) 116 007e 00D0 rcall systemDelay10us 117 0080 2196 adiw r28,1 118 0082 C830 cpi r28,8 119 0084 D105 cpc r29,__zero_reg__ 120 0086 01F4 brne .L12 121 0088 C098 cbi 0x18,0 122 008a 82E5 ldi r24,lo8(82) 123 008c 00D0 rcall systemDelay10us 124 /* #APP */ 125 ; 114 "dbt03.c" 1 126 008e 7894 sei 127 ; 0 "" 2 128 /* epilogue start */ 129 /* #NOAPP */ 130 0090 DF91 pop r29 131 0092 CF91 pop r28 132 0094 1F91 pop r17 133 0096 0F91 pop r16 134 0098 0895 ret 136 .global systemDbt03Receive 138 systemDbt03Receive: 139 009a FF92 push r15 140 009c 0F93 push r16 141 009e 1F93 push r17 142 00a0 CF93 push r28 143 00a2 DF93 push r29 144 /* prologue: function */ 145 /* frame size = 0 */ 146 /* stack size = 5 */ 147 .L__stack_usage = 5 148 00a4 00D0 rcall systemCtrlCheckInhibit 149 00a6 8111 cpse r24,__zero_reg__ 150 00a8 00C0 rjmp .L19 151 /* #APP */ 152 ; 127 "dbt03.c" 1 153 00aa F894 cli 154 ; 0 "" 2 155 /* #NOAPP */ 156 .L16: 157 00ac 8299 sbic 0x10,2 158 00ae 00C0 rjmp .L16 159 00b0 85E8 ldi r24,lo8(-123) 160 00b2 00D0 rcall systemDelay100us 161 00b4 00E0 ldi r16,0 162 00b6 10E0 ldi r17,0 163 00b8 F12C mov r15,__zero_reg__ 164 .L18: 165 00ba 82E4 ldi r24,lo8(66) 166 00bc 00D0 rcall systemDelay100us 167 00be 80B3 in r24,0x10 168 00c0 82FB bst r24,2 169 00c2 8827 clr r24 170 00c4 80F9 bld r24,0 171 00c6 C82F mov r28,r24 172 00c8 002E mov r0,r16 173 00ca 00C0 rjmp 2f 174 1: 175 00cc CC0F lsl r28 176 2: 177 00ce 0A94 dec r0 178 00d0 02F4 brpl 1b 179 00d2 FC2A or r15,r28 180 00d4 82E4 ldi r24,lo8(66) 181 00d6 00D0 rcall systemDelay100us 182 00d8 0F5F subi r16,-1 183 00da 1F4F sbci r17,-1 184 00dc 0830 cpi r16,8 185 00de 1105 cpc r17,__zero_reg__ 186 00e0 01F4 brne .L18 187 /* #APP */ 188 ; 141 "dbt03.c" 1 189 00e2 7894 sei 190 ; 0 "" 2 191 /* #NOAPP */ 192 00e4 00C0 rjmp .L14 193 .L19: 194 00e6 F12C mov r15,__zero_reg__ 195 .L14: 196 00e8 8F2D mov r24,r15 197 /* epilogue start */ 198 00ea DF91 pop r29 199 00ec CF91 pop r28 200 00ee 1F91 pop r17 201 00f0 0F91 pop r16 202 00f2 FF90 pop r15 203 00f4 0895 ret 205 .global systemDbt03ConnectionOk 207 systemDbt03ConnectionOk: 208 00f6 CF93 push r28 209 00f8 DF93 push r29 210 /* prologue: function */ 211 /* frame size = 0 */ 212 /* stack size = 2 */ 213 .L__stack_usage = 2 214 00fa 8EE1 ldi r24,lo8(30) 215 00fc 00D0 rcall systemDelay100ms 216 00fe 80E2 ldi r24,lo8(32) 217 0100 93E0 ldi r25,lo8(3) 218 0102 00D0 rcall dbt03Dialtone 219 0104 88E2 ldi r24,lo8(40) 220 0106 00D0 rcall systemDelay100ms 221 0108 88EC ldi r24,lo8(-56) 222 010a 90E0 ldi r25,0 223 010c 00D0 rcall dbt03Dialtone 224 010e 85E0 ldi r24,lo8(5) 225 0110 00D0 rcall systemDelay100ms 226 0112 C0E2 ldi r28,lo8(32) 227 0114 D8E0 ldi r29,lo8(8) 228 .L22: 229 0116 C098 cbi 0x18,0 230 0118 86E2 ldi r24,lo8(38) 231 011a 00D0 rcall systemDelay10us 232 011c 00D0 rcall dbt03IoCtrl.part.0 233 011e 86E2 ldi r24,lo8(38) 234 0120 00D0 rcall systemDelay10us 235 0122 2197 sbiw r28,1 236 0124 2097 sbiw r28,0 237 0126 01F4 brne .L22 238 0128 C098 cbi 0x18,0 239 012a 85E0 ldi r24,lo8(5) 240 /* epilogue start */ 241 012c DF91 pop r29 242 012e CF91 pop r28 243 0130 00C0 rjmp systemDelay100ms 245 .global systemDbt03ConnectionTerminate 247 systemDbt03ConnectionTerminate: 248 /* prologue: function */ 249 /* frame size = 0 */ 250 /* stack size = 0 */ 251 .L__stack_usage = 0 252 0132 00D0 rcall dbt03IoCtrl.part.0 253 .L24: 254 0134 00C0 rjmp .L24 256 .global __vector_1 258 __vector_1: 259 0136 1F92 push r1 260 0138 0F92 push r0 261 013a 0FB6 in r0,__SREG__ 262 013c 0F92 push r0 263 013e 1124 clr __zero_reg__ 264 0140 FF92 push r15 265 0142 0F93 push r16 266 0144 1F93 push r17 267 0146 2F93 push r18 268 0148 3F93 push r19 269 014a 4F93 push r20 270 014c 5F93 push r21 271 014e 6F93 push r22 272 0150 7F93 push r23 273 0152 8F93 push r24 274 0154 9F93 push r25 275 0156 AF93 push r26 276 0158 BF93 push r27 277 015a CF93 push r28 278 015c DF93 push r29 279 015e EF93 push r30 280 0160 FF93 push r31 281 /* prologue: Signal */ 282 /* frame size = 0 */ 283 /* stack size = 20 */ 284 .L__stack_usage = 20 285 0162 00D0 rcall systemCtrlCheckInhibit 286 0164 8130 cpi r24,lo8(1) 287 0166 01F4 brne .L25 288 0168 82E4 ldi r24,lo8(66) 289 016a 00D0 rcall systemDelay100us 290 016c 8299 sbic 0x10,2 291 016e 00C0 rjmp .L25 292 0170 82E4 ldi r24,lo8(66) 293 0172 00D0 rcall systemDelay100us 294 0174 00E0 ldi r16,0 295 0176 10E0 ldi r17,0 296 0178 F12C mov r15,__zero_reg__ 297 .L30: 298 017a 82E4 ldi r24,lo8(66) 299 017c 00D0 rcall systemDelay100us 300 017e 80B3 in r24,0x10 301 0180 82FB bst r24,2 302 0182 8827 clr r24 303 0184 80F9 bld r24,0 304 0186 C82F mov r28,r24 305 0188 002E mov r0,r16 306 018a 00C0 rjmp 2f 307 1: 308 018c CC0F lsl r28 309 2: 310 018e 0A94 dec r0 311 0190 02F4 brpl 1b 312 0192 FC2A or r15,r28 313 0194 82E4 ldi r24,lo8(66) 314 0196 00D0 rcall systemDelay100us 315 0198 0F5F subi r16,-1 316 019a 1F4F sbci r17,-1 317 019c 0830 cpi r16,8 318 019e 1105 cpc r17,__zero_reg__ 319 01a0 01F4 brne .L30 320 01a2 82E4 ldi r24,lo8(66) 321 01a4 00D0 rcall systemDelay100us 322 01a6 8F2D mov r24,r15 323 01a8 00D0 rcall systemUartTransmit 324 .L25: 325 /* epilogue start */ 326 01aa FF91 pop r31 327 01ac EF91 pop r30 328 01ae DF91 pop r29 329 01b0 CF91 pop r28 330 01b2 BF91 pop r27 331 01b4 AF91 pop r26 332 01b6 9F91 pop r25 333 01b8 8F91 pop r24 334 01ba 7F91 pop r23 335 01bc 6F91 pop r22 336 01be 5F91 pop r21 337 01c0 4F91 pop r20 338 01c2 3F91 pop r19 339 01c4 2F91 pop r18 340 01c6 1F91 pop r17 341 01c8 0F91 pop r16 342 01ca FF90 pop r15 343 01cc 0F90 pop r0 344 01ce 0FBE out __SREG__,r0 345 01d0 0F90 pop r0 346 01d2 1F90 pop r1 347 01d4 1895 reti 349 .ident "GCC: (GNU) 4.8.2" DEFINED SYMBOLS *ABS*:0000000000000000 dbt03.c /tmp/ccDZmxBL.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccDZmxBL.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccDZmxBL.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccDZmxBL.s:5 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccDZmxBL.s:6 *ABS*:0000000000000001 __zero_reg__ /tmp/ccDZmxBL.s:9 .text:0000000000000000 dbt03IoCtrl.part.0 /tmp/ccDZmxBL.s:18 .text:0000000000000004 dbt03Dialtone /tmp/ccDZmxBL.s:52 .text:0000000000000032 systemDbt03Init /tmp/ccDZmxBL.s:75 .text:0000000000000048 systemDbt03Transmit /tmp/ccDZmxBL.s:138 .text:000000000000009a systemDbt03Receive /tmp/ccDZmxBL.s:207 .text:00000000000000f6 systemDbt03ConnectionOk /tmp/ccDZmxBL.s:247 .text:0000000000000132 systemDbt03ConnectionTerminate /tmp/ccDZmxBL.s:258 .text:0000000000000136 __vector_1 UNDEFINED SYMBOLS systemDelay100us systemDelay10us systemCtrlCheckInhibit systemDelay100ms systemUartTransmit