0010 <__trap_interrupt> 0010: 3041 ret 4400 <__watchdog_support> 4400: 5542 5c01 mov.b &0x015c, r5 4404: 35d0 085a bis #0x5a08, r5 4408: 8245 2024 mov r5, &0x2420 440c <__init_stack> 440c: 3140 0044 mov #0x4400, sp 4410 <__do_copy_data> 4410: 3f40 2000 mov #0x20, r15 4414: 0f93 tst r15 4416: 0824 jz $+0x12 <__do_clear_bss+0x0> 4418: 9242 2024 5c01 mov &0x2420, &0x015c 441e: 2f83 decd r15 4420: 9f4f 8047 0024 mov 0x4780(r15), 0x2400(r15) 4426: f823 jnz $-0xe <__do_copy_data+0x8> 4428 <__do_clear_bss> 4428: 3f40 0000 clr r15 442c: 0f93 tst r15 442e: 0724 jz $+0x10 4430: 9242 2024 5c01 mov &0x2420, &0x015c 4436: 1f83 dec r15 4438: cf43 2024 mov.b #0x0, 0x2420(r15) 443c: f923 jnz $-0xc <__do_clear_bss+0x8> 443e
443e: 3150 bcfe add #0xfebc, sp 4442: 3f40 5646 mov #0x4656 "Welcome to the secure program loader.", r15 4446: b012 ba45 call #0x45ba 444a: 8143 0000 clr 0x0(sp) 444e: 3f40 7c46 mov #0x467c "Please enter second stage load address.", r15 4452: b012 ba45 call #0x45ba 4456: 2e43 mov #0x2, r14 4458: 0f41 mov sp, r15 445a: b012 9c45 call #0x459c 445e: 3f40 a446 mov #0x46a4 "Please enter the second stage program.", r15 4462: b012 ba45 call #0x45ba 4466: 3d40 0101 mov #0x101, r13 446a: 0e43 clr r14 446c: 0f41 mov sp, r15 446e: 3f50 4300 add #0x43, r15 4472: b012 ea45 call #0x45ea 4476: 3e40 0001 mov #0x100, r14 447a: 0f41 mov sp, r15 447c: 3f50 4300 add #0x43, r15 4480: b012 9c45 call #0x459c 4484: 3f40 cb46 mov #0x46cb "Please enter program signature.", r15 4488: b012 ba45 call #0x45ba 448c: 3d40 4100 mov #0x41, r13 4490: 0e43 clr r14 4492: 0f41 mov sp, r15 4494: 2f53 incd r15 4496: b012 ea45 call #0x45ea 449a: 3e40 4000 mov #0x40, r14 449e: 0f41 mov sp, r15 44a0: 2f53 incd r15 44a2: b012 9c45 call #0x459c 44a6: 2f41 mov @sp, r15 44a8: 0f93 tst r15 44aa: 0334 jge $+0x8 44ac: 3f90 01f0 cmp #0xf001, r15 44b0: 0528 jnc $+0xc 44b2: 3f40 eb46 mov #0x46eb "Load address outside allowed range of 0x8000-0xF000", r15 44b6: b012 ba45 call #0x45ba 44ba: c73f jmp $-0x70 44bc: 3d40 0001 mov #0x100, r13 44c0: 0e41 mov sp, r14 44c2: 3e50 4300 add #0x43, r14 44c6: b012 d845 call #0x45d8 44ca: 0c41 mov sp, r12 44cc: 2c53 incd r12 44ce: 3d40 0001 mov #0x100, r13 44d2: 2e41 mov @sp, r14 44d4: 3f40 0024 mov #0x2400, r15 44d8: b012 6845 call #0x4568 44dc: 1f93 cmp #0x1, r15 44de: 0524 jz $+0xc 44e0: 3f40 1f47 mov #0x471f "Incorrect signature, continuing", r15 44e4: b012 ba45 call #0x45ba 44e8: b03f jmp $-0x9e 44ea: 3f40 3f47 mov #0x473f "Signature valid, executing payload", r15 44ee: b012 ba45 call #0x45ba 44f2: 9112 0200 call 0x2(sp) 44f6: 0f93 tst r15 44f8: 0f24 jz $+0x20 44fa: 3f40 6247 mov #0x4762 "ACCESS GRANTED", r15 44fe: b012 ba45 call #0x45ba 4502: 0312 push #0x0 4504: 0312 push #0x0 4506: 3012 7f00 push #0x7f 450a: b012 2c45 call #0x452c 450e: 0f43 clr r15 4510: 3150 4a01 add #0x14a, sp 4514: 3040 2245 br #0x4522 <__stop_progExec__> 4518: 3f40 7147 mov #0x4771 "ACCESS DENIED", r15 451c: b012 ba45 call #0x45ba 4520: 943f jmp $-0xd6 4522 <__stop_progExec__> 4522: 32d0 f000 bis #0xf0, sr 4526: fd3f jmp $-0x4 <__stop_progExec__+0x0> 4528 <__ctors_end> 4528: 3040 5446 br #0x4654 <_unexpected_> 452c 452c: 1f41 0200 mov 0x2(sp), r15 4530: 0212 push sr 4532: 4f4f mov.b r15, r15 4534: 8f10 swpb r15 4536: 3fd0 0080 bis #0x8000, r15 453a: 024f mov r15, sr 453c: b012 1000 call #0x10 4540: 3241 pop sr 4542: 3041 ret 4544 4544: 0d12 push r13 4546: 0e12 push r14 4548: 0f12 push r15 454a: 3012 3000 push #0x30 454e: b012 2c45 call #0x452c 4552: 3152 add #0x8, sp 4554: 3041 ret 4556 4556: 0d12 push r13 4558: 0e12 push r14 455a: 0f12 push r15 455c: 3012 3100 push #0x31 4560: b012 2c45 call #0x452c 4564: 3152 add #0x8, sp 4566: 3041 ret 4568 4568: 0b12 push r11 456a: 0412 push r4 456c: 0441 mov sp, r4 456e: 2452 add #0x4, r4 4570: 2183 decd sp 4572: 8443 faff clr -0x6(r4) 4576: 3b40 faff mov #0xfffa, r11 457a: 0b54 add r4, r11 457c: 0b12 push r11 457e: 0c12 push r12 4580: 0d12 push r13 4582: 0e12 push r14 4584: 0f12 push r15 4586: 3012 3300 push #0x33 458a: b012 2c45 call #0x452c 458e: 1f44 faff mov -0x6(r4), r15 4592: 3150 0e00 add #0xe, sp 4596: 3441 pop r4 4598: 3b41 pop r11 459a: 3041 ret 459c 459c: 0e12 push r14 459e: 0f12 push r15 45a0: 2312 push #0x2 45a2: b012 2c45 call #0x452c 45a6: 3150 0600 add #0x6, sp 45aa: 3041 ret 45ac 45ac: 8f11 sxt r15 45ae: 0f12 push r15 45b0: 0312 push #0x0 45b2: b012 2c45 call #0x452c 45b6: 2152 add #0x4, sp 45b8: 3041 ret 45ba 45ba: 0b12 push r11 45bc: 0b4f mov r15, r11 45be: 033c jmp $+0x8 45c0: 1b53 inc r11 45c2: b012 ac45 call #0x45ac 45c6: 6f4b mov.b @r11, r15 45c8: 4f93 tst.b r15 45ca: fa23 jnz $-0xa 45cc: 7f40 0a00 mov.b #0xa, r15 45d0: b012 ac45 call #0x45ac 45d4: 3b41 pop r11 45d6: 3041 ret 45d8 45d8: 0c4f mov r15, r12 45da: 043c jmp $+0xa 45dc: fc4e 0000 mov.b @r14+, 0x0(r12) 45e0: 1c53 inc r12 45e2: 3d53 add #-0x1, r13 45e4: 0d93 tst r13 45e6: fa23 jnz $-0xa 45e8: 3041 ret 45ea 45ea: 0b12 push r11 45ec: 0a12 push r10 45ee: 0912 push r9 45f0: 0812 push r8 45f2: 3d90 0600 cmp #0x6, r13 45f6: 092c jc $+0x14 45f8: 0c4f mov r15, r12 45fa: 043c jmp $+0xa 45fc: cc4e 0000 mov.b r14, 0x0(r12) 4600: 1c53 inc r12 4602: 3d53 add #-0x1, r13 4604: 0d93 tst r13 4606: fa23 jnz $-0xa 4608: 203c jmp $+0x42 460a: 4e4e mov.b r14, r14 460c: 4b4e mov.b r14, r11 460e: 0b93 tst r11 4610: 0324 jz $+0x8 4612: 0c4b mov r11, r12 4614: 8c10 swpb r12 4616: 0bdc bis r12, r11 4618: 1fb3 bit #0x1, r15 461a: 0624 jz $+0xe 461c: 3d53 add #-0x1, r13 461e: cf4e 0000 mov.b r14, 0x0(r15) 4622: 094f mov r15, r9 4624: 1953 inc r9 4626: 013c jmp $+0x4 4628: 094f mov r15, r9 462a: 0c4d mov r13, r12 462c: 12c3 clrc 462e: 0c10 rrc r12 4630: 0a49 mov r9, r10 4632: 084c mov r12, r8 4634: 8a4b 0000 mov r11, 0x0(r10) 4638: 2a53 incd r10 463a: 3853 add #-0x1, r8 463c: fb23 jnz $-0x8 463e: 0c5c add r12, r12 4640: 0c59 add r9, r12 4642: 1df3 and #0x1, r13 4644: 0224 jz $+0x6 4646: cc4e 0000 mov.b r14, 0x0(r12) 464a: 3841 pop r8 464c: 3941 pop r9 464e: 3a41 pop r10 4650: 3b41 pop r11 4652: 3041 ret 4654 <_unexpected_> 4654: 0013 reti pc 4656 .strings: 4656: "Welcome to the secure program loader." 467c: "Please enter second stage load address." 46a4: "Please enter the second stage program." 46cb: "Please enter program signature." 46eb: "Load address outside allowed range of 0x8000-0xF000" 471f: "Incorrect signature, continuing" 473f: "Signature valid, executing payload" 4762: "ACCESS GRANTED" 4771: "ACCESS DENIED"