02.07.2013 Views

Uboot中start.S源码的指令级的详尽解析

Uboot中start.S源码的指令级的详尽解析

Uboot中start.S源码的指令级的详尽解析

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

*<br />

* use bad_save_user_regs for abort/prefetch/undef/swi ...<br />

* use irq_save_user_regs / irq_restore_user_regs for IRQ/FIQ handling<br />

*/<br />

.macro bad_save_user_regs<br />

.macro和后面的.endm相对应,其语法是:<br />

图表 19 macro 的语法<br />

所以,此处就相当于一个无参数的宏bad_save_user_regs,也就相当于一个函数了。<br />

即<br />

sp<br />

sub sp, sp, #S_FRAME_SIZE<br />

= sp- S_FRAME_SIZE<br />

= sp - 72<br />

stmia<br />

stmia sp, {r0 - r12} @ Calling r0-r12<br />

stmia的语法为:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!