Hello,
I have a simple assembly startup file for and ARM7 (LPC2478) when I debug this code the disassembly seems odd to me. could someone explain the following:
Note: this is the mix mode view of the disassembler:
1054: Vectors LDR PC, Reset_Addr 0x00000000 E59F4018 LDR R4,[PC,#0x0018] 1055: LDR PC, Undef_Addr 0x00000004 E59F5010 LDR R5,[PC,#0x0010] 1056: LDR PC, SWI_Addr 0x00000008 E5946000 LDR R6,[R4] 1057: LDR PC, PAbt_Addr 0x0000000C E0056006 AND R6,R5,R6 1058: LDR PC, DAbt_Addr 0x00000010 E5846000 STR R6,[R4] 1059: NOP ; Reserved Vector 1060: ; LDR PC, IRQ_Addr 0x00000014 E51FF004 LDR PC,[PC,#-0x0004] 1061: LDR PC, [PC, #-0x0120] ; Vector from VicVectAddr 0x00000018 7FFFE040 SWIVC 0x00FFE040 1062: LDR PC, FIQ_Addr 1063: 1064: Reset_Addr DCD Reset_Handler 1065: Undef_Addr DCD Undef_Handler 1066: SWI_Addr DCD SWI_Handler 1067: PAbt_Addr DCD PAbt_Handler 1068: DAbt_Addr DCD DAbt_Handler 1069: DCD 0 ; Reserved Address 1070: IRQ_Addr DCD IRQ_Handler 1071: FIQ_Addr DCD FIQ_Handler 1072: 1073: 0x0000001C FFFFBFFF (???) 0x00000020 3FFF8000 DD 0x3FFF8000 0x00000024 00000000 DD 0x00000000 0x00000028 00000000 DD 0x00000000 0x0000002C 00000000 DD 0x00000000 0x00000030 00000000 DD 0x00000000 0x00000034 00000000 DD 0x00000000 0x00000038 00000000 DD 0x00000000 0x0000003C 00000000 DD 0x00000000 1074: Undef_Handler B Undef_Handler 1075: ;SWI_Handler B SWI_Handler 0x00000040 EAFFFFFE B 0x00000040 1076: PAbt_Handler B PAbt_Handler 0x00000044 EAFFFFFE B 0x00000044 1077: DAbt_Handler B DAbt_Handler 0x00000048 EAFFFFFE B 0x00000048 1078: IRQ_Handler B IRQ_Handler 0x0000004C EAFFFFFE B 0x0000004C 1079: FIQ_Handler B FIQ_Handler 1080: 1081: IMPORT SWI_Handler 1082:
So specifically I don't understand the disassembly of the vector table?
Thanks
Mac