MACRO $HandlerLabel HANDLER $HandleLabel ---------------------------什么意思
$HandlerLabel sub sp,sp,#4 ;decrement sp(to store jump address) stmfd sp!,{r0} ;PUSH the work register to stack(lr does't push because it return to original address) ldr r0,=$HandleLabel;load the address of HandleXXX to r0 ldr r0,[r0] ;load the contents(service routine start address) of HandleXXX str r0,[sp,#4] ;store the contents(ISR) of HandleXXX to stack ldmfd sp!,{r0,pc} ;POP the work register and pc(jump to ISR) MEND
[ ENDIAN_CHANGE ASSERT :DEF:ENTRY_BUS_WIDTH -------------看不懂 [ ENTRY_BUS_WIDTH=32 b ChangeBigEndian ;DCD 0xea000007 ----------------------------------------看不懂 ] [ ENTRY_BUS_WIDTH=16 andeq r14,r7,r0,lsl #20 ;DCD 0x0007ea00 ] [ ENTRY_BUS_WIDTH=8 streq r0,[r0,-r10,ror #1] ;DCD 0x070000ea ] | b ResetHandler ----------------------------------------看不懂
]
[align=right][color=#000066][此贴子已经被作者于2005-7-8 9:50:44编辑过][/color][/align]