|
一段初始化代码:
PUINT16 FrontSurface;
PUINT16 BackSurface;
UINT32 Offset;
...
Offset = 160;
do
{
*--FrontSurface = 0;
*--BackSurface = 0x720;
} while (--Offset);
编译之后看了一下list,发现看不明白它啥意思:
MOVS R2,#+40
MOVS R3,#+228
LSLS R3,R3,#+3 ;; #+1824
MOVS R5,#+0
??Initialize_1:
SUBS R0,R0,#+2
STRH R5,[R0, #+0]
SUBS R4,R4,#+2
STRH R3,[R4, #+0]
SUBS R0,R0,#+2
STRH R5,[R0, #+0]
SUBS R4,R4,#+2
STRH R3,[R4, #+0]
SUBS R0,R0,#+2
STRH R5,[R0, #+0]
SUBS R4,R4,#+2
STRH R3,[R4, #+0]
SUBS R0,R0,#+2
STRH R5,[R0, #+0]
SUBS R4,R4,#+2
STRH R3,[R4, #+0]
SUBS R2,R2,#+1
BNE ??Initialize_1
跟踪了一把,才明白过来,它的意思是:
Offset = 40;
do
{
*--FrontSurface = 0;
*--BackSurface = 0x720;
*--FrontSurface = 0;
*--BackSurface = 0x720;
*--FrontSurface = 0;
*--BackSurface = 0x720;
*--FrontSurface = 0;
*--BackSurface = 0x720;
} while (--Offset);
只好膜拜一下…… |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|