⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 blankarea.s

📁 symbian 的一个 二维飞行游戏 源码 及相关技术文章
💻 S
字号:
@@  Copyright 2002 Kenneth Guy,
@@  
        	.global	BlankAreaAsm__12RScreenUtilsPQ212RScreenUtils6TBlank
BlankAreaAsm__12RScreenUtilsPQ212RScreenUtils6TBlank:
        @@ r0, TScreenUtils* this
               @  0 - iScreenBase 
        @@ r1, TBlankArea*
        @@   offset - 0    TUint32 iColor;
        @@   offset - 4    TUint32 iXSize;
        @@   offset - 8    TUint32 iYSize;
        @@   offset - 12   TUint32 iXPos;
        @@   offset - 16   TUint32 iYPos;

        @@ X is in 2 pixel blocks, (ie one 32bit word), so 0-319
        @@ Y is 0-199

        
        @@ save registers and return address on full declining stack 
        stmfd   sp!, {r0-r12,lr}
        ldr     r0,[r0]         @ r0 = iScreenBase
        ldmia   r1,{r2,r3,r4,r5,r6} @ iColor,iXSize,iYSize,iXPos,iYPos;
        orr     r2,r2,r2,lsl#16

        add     r0,r0,r6,lsl#10       @ add iYPos*1280 to iScreenBase
        add     r0,r0,r6,lsl#8
        add     r0,r0,r5,lsl#2 @ iXPos*4

        mov     r7,r0           @ remember start of pixel line;
        mov     r9,#0
blankAreaAreaLineLoop:      
        mov     r1,r3      
blankAreaAreaPixelLoop:
        str     r2,[r0],#4
        subs    r1,r1,#1
        bne     blankAreaAreaPixelLoop

        add     r7,r7,#1280
        mov     r0,r7
        subs    r4,r4,#1
        bne     blankAreaAreaLineLoop

        ldmfd   sp!, {r0-r12,lr}
        bx      lr


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -