定义:<br /> MAP 0<br />count FIELD 4<br />type FIELD 4<br />size FIELD 0<br />下面是如何使用:<br /> SUB sp, sp, #size<br /> MOV r0, #0<br /> STR r0, [sp, #count]<br /> STR r0, [sp, #type]<br /><br />我的疑问就是size既然被定义成0大小,那么就不能存储任何值,为什么还能被引用呢?<br />还就是为什么要把size定义成0字节?<br /><br />在44b0的启动代码里面我也见到这种情况,是在为各种栈预留空间的时候<br /> ^ (_ISR_STARTADDRESS-0x500) <br />UserStack # 256 ;c1(c7)ffa00<br />SVCStack # 256 ;c1(c7)ffb00<br />UndefStack # 256 ;c1(c7)ffc00<br />AbortStack # 256 ;c1(c7)ffd00<br />IRQStack # 256 ;c1(c7)ffe00<br />FIQStack # 0 ;c1(c7)fff00<br />最后FIQStack也是0字节<br /><br />搞不懂,求教<br /><br />谢谢<br /><br /> |
|