FreeCalypso > hg > freecalypso-reveng
comparison pirelli/fw-disasm @ 234:5b530eea8f4e
pirelli/fw-disasm: IRAM code loading located
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 22 Dec 2017 02:10:56 +0000 |
parents | 4cd01d1458df |
children | 78be85145f33 |
comparison
equal
deleted
inserted
replaced
233:4cd01d1458df | 234:5b530eea8f4e |
---|---|
79 40120: e92d000f stmdb sp!, {r0, r1, r2, r3} | 79 40120: e92d000f stmdb sp!, {r0, r1, r2, r3} |
80 40124: e59f0318 ldr r0, =0x1000be8 ; via 0x40444 | 80 40124: e59f0318 ldr r0, =0x1000be8 ; via 0x40444 |
81 40128: e59f2318 ldr r2, =0x17751ec ; via 0x40448 | 81 40128: e59f2318 ldr r2, =0x17751ec ; via 0x40448 |
82 4012c: e0422000 sub r2, r2, r0 | 82 4012c: e0422000 sub r2, r2, r0 |
83 40130: e3a01000 mov r1, #0 | 83 40130: e3a01000 mov r1, #0 |
84 40134: eb0000e1 bl 0x404c0 | 84 40134: eb0000e1 bl 0x404c0 ; _INT_memset |
85 40138: e59f030c ldr r0, =0x800000 ; via 0x4044c | 85 40138: e59f030c ldr r0, =0x800000 ; via 0x4044c |
86 4013c: e59f230c ldr r2, =0x82d1ec ; via 0x40450 | 86 4013c: e59f230c ldr r2, =0x82d1ec ; via 0x40450 |
87 40140: e0422000 sub r2, r2, r0 | 87 40140: e0422000 sub r2, r2, r0 |
88 40144: e3a01000 mov r1, #0 | 88 40144: e3a01000 mov r1, #0 |
89 40148: eb0000dc bl 0x404c0 | 89 40148: eb0000dc bl 0x404c0 ; _INT_memset |
90 4014c: e8bd000f ldmia sp!, {r0, r1, r2, r3} | 90 4014c: e8bd000f ldmia sp!, {r0, r1, r2, r3} |
91 40150: e3a00001 mov r0, #1 | 91 40150: e3a00001 mov r0, #1 |
92 40154: e59f12fc ldr r1, =0x1775074 ; via 0x40458 | 92 40154: e59f12fc ldr r1, =0x1775074 ; via 0x40458 |
93 40158: e5810000 str r0, [r1] | 93 40158: e5810000 str r0, [r1] |
94 4015c: e59f02f0 ldr r0, =0x10000e8 ; via 0x40454 | 94 4015c: e59f02f0 ldr r0, =0x10000e8 ; via 0x40454 |
760 3bba28: 200f mov r0, #15 ; 0xf | 760 3bba28: 200f mov r0, #15 ; 0xf |
761 3bba2a: f024 f940 bl 0x3dfcae ; $IQ_Unmask | 761 3bba2a: f024 f940 bl 0x3dfcae ; $IQ_Unmask |
762 3bba2e: f484 fc2d bl 0x4028c ; $INT_EnableIRQ | 762 3bba2e: f484 fc2d bl 0x4028c ; $INT_EnableIRQ |
763 3bba32: bd00 pop {pc} | 763 3bba32: bd00 pop {pc} |
764 | 764 |
765 _f_checksum: | |
766 3e6990: e1a0c000 mov r12, r0 | |
767 3e6994: e3a00000 mov r0, #0 | |
768 3e6998: e3510000 cmp r1, #0 | |
769 3e699c: 012fff1e bxeq lr | |
770 3e69a0: e4dc2001 ldrb r2, [r12], #1 | |
771 3e69a4: e0820000 add r0, r2, r0 | |
772 3e69a8: e1a00800 mov r0, r0, lsl #16 | |
773 3e69ac: e1a00820 mov r0, r0, lsr #16 | |
774 3e69b0: e2511001 subs r1, r1, #1 | |
775 3e69b4: 1afffff9 bne 0x3e69a0 | |
776 3e69b8: e12fff1e bx lr | |
777 | |
778 _f_load_int_mem: | |
779 3e69bc: e92d4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} | |
780 3e69c0: e59f90c8 ldr r9, =0x1775070 ; via 0x3e6a90 | |
781 3e69c4: e3a0c000 mov r12, #0 | |
782 3e69c8: e1c9c0b0 strh r12, [r9] | |
783 3e69cc: e59fa0c0 ldr r10, =0x1775072 ; via 0x3e6a94 | |
784 3e69d0: e1cac0b0 strh r12, [r10] | |
785 3e69d4: e59fc0bc ldr r12, =0x82d1f0 ; via 0x3e6a98 | |
786 3e69d8: e59f00bc ldr r0, =0x848788 ; via 0x3e6a9c | |
787 3e69dc: e040000c sub r0, r0, r12 | |
788 3e69e0: e2408004 sub r8, r0, #4 | |
789 3e69e4: e28c7004 add r7, r12, #4 | |
790 3e69e8: e1a00007 mov r0, r7 | |
791 3e69ec: e3a01000 mov r1, #0 | |
792 3e69f0: e1a02008 mov r2, r8 | |
793 3e69f4: ebf166b1 bl 0x404c0 ; _INT_memset | |
794 3e69f8: e59f40a0 ldr r4, =0x84878c ; via 0x3e6aa0 | |
795 3e69fc: e59fc0a0 ldr r12, =0x848d1c ; via 0x3e6aa4 | |
796 3e6a00: e04c6004 sub r6, r12, r4 | |
797 3e6a04: e1a00004 mov r0, r4 | |
798 3e6a08: e3a01000 mov r1, #0 | |
799 3e6a0c: e1a02006 mov r2, r6 | |
800 3e6a10: ebf166aa bl 0x404c0 ; _INT_memset | |
801 3e6a14: e59fb08c ldr r11, =0x40708 ; via 0x3e6aa8 | |
802 3e6a18: e1a0000b mov r0, r11 | |
803 3e6a1c: e1a01008 mov r1, r8 | |
804 3e6a20: ebffffda bl 0x3e6990 ; _f_checksum | |
805 3e6a24: e1a03000 mov r3, r0 | |
806 3e6a28: e1c930b0 strh r3, [r9] | |
807 3e6a2c: e59f5078 ldr r5, =0x5bca0 ; via 0x3e6aac | |
808 3e6a30: e1a00005 mov r0, r5 | |
809 3e6a34: e1a01006 mov r1, r6 | |
810 3e6a38: ebffffd4 bl 0x3e6990 ; _f_checksum | |
811 3e6a3c: e083c000 add r12, r3, r0 | |
812 3e6a40: e1c9c0b0 strh r12, [r9] | |
813 3e6a44: e1a00007 mov r0, r7 | |
814 3e6a48: e1a0100b mov r1, r11 | |
815 3e6a4c: e1a02008 mov r2, r8 | |
816 3e6a50: ebf166c0 bl 0x40558 ; _INT_memcpy | |
817 3e6a54: e1a00004 mov r0, r4 | |
818 3e6a58: e1a01005 mov r1, r5 | |
819 3e6a5c: e1a02006 mov r2, r6 | |
820 3e6a60: ebf166bc bl 0x40558 ; _INT_memcpy | |
821 3e6a64: e1a00007 mov r0, r7 | |
822 3e6a68: e1a01008 mov r1, r8 | |
823 3e6a6c: ebffffc7 bl 0x3e6990 ; _f_checksum | |
824 3e6a70: e1a03000 mov r3, r0 | |
825 3e6a74: e1ca30b0 strh r3, [r10] | |
826 3e6a78: e1a00004 mov r0, r4 | |
827 3e6a7c: e1a01006 mov r1, r6 | |
828 3e6a80: ebffffc2 bl 0x3e6990 ; _f_checksum | |
829 3e6a84: e083c000 add r12, r3, r0 | |
830 3e6a88: e1cac0b0 strh r12, [r10] | |
831 3e6a8c: e8bd8ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} | |
832 | |
833 3e6a90: 01775070 _d_checksum1 | |
834 3e6a94: 01775072 _d_checksum2 | |
835 3e6a98: 0082d1f0 _d_application_run_start | |
836 3e6a9c: 00848788 _d_application_run_end | |
837 3e6aa0: 0084878c __470_S_MEM_out_call_run_start | |
838 3e6aa4: 00848d1c __470_S_MEM_out_call_run_end | |
839 3e6aa8: 00040708 .ldfl+8 | |
840 3e6aac: 0005bca0 __470_S_MEM_out_call_load_start | |
841 | |
765 $Application_Initialize: | 842 $Application_Initialize: |
766 3f11f8: b500 push {lr} | 843 3f11f8: b500 push {lr} |
767 3f11fa: f7ca faeb bl 0x3bb7d4 ; $Init_Target | 844 3f11fa: f7ca faeb bl 0x3bb7d4 ; $Init_Target |
768 3f11fe: f7ca fbe4 bl 0x3bb9ca ; $Init_Drivers | 845 3f11fe: f7ca fbe4 bl 0x3bb9ca ; $Init_Drivers |
769 3f1202: f686 f8eb bl 0x2773dc | 846 3f1202: f686 f8eb bl 0x2773dc |