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

📄 drawmeziercrunch.s

📁 EP9315开发板的Wince6.0的BSP包文件
💻 S
字号:
		INCLUDE crunchmacros.inc
        AREA    sec_text,CODE,READONLY
        ALIGN   2


fOne    CN  0
fIncr   CN  1
fT      CN  2
fT2     CN  3
fT3     CN  4
fIT     CN  5
fIT2    CN  6
fIT3    CN  7
fTemp1  CN  8
fTemp2  CN  9
fThree  CN  10

        EXPORT  DrawBezierCrunch
;#   extern "C" void DrawBezierCrunch     unsigned short *pusBuffer, unsigned long *pulX,
;#                 unsigned long *pulY, unsigned long usColor;

DrawBezierCrunch
    stmfd        sp!, {r4, r5, r6, lr}
    ldr        r4, L001
    ldr        r5, L001+4
    ldr        r6, L001+8
    cfmvsr     fOne, r5
    cfmvsr     fIncr, r4
    cfmvsr     fThree, r6
    cfsubs     fT, fOne, fOne

loop_crunch

    cfmuls      fT2, fT, fT
    cfmuls      fT3, fT2, fT
    cfsubs      fIT, fOne, fT
    cfmuls      fIT2, fIT, fIT
    cfmuls      fIT3, fIT2, fIT
    cfldr32     fTemp1, [r1, #0]
    cfcvt32s    fTemp1, fTemp1
    cfmuls      fTemp1, fTemp1, fIT3
    cfldr32     fTemp2, [r1, #4]
    cfcvt32s    fTemp2, fTemp2
    cfmuls      fTemp2, fTemp2, fIT2
    cfmuls      fTemp2, fTemp2, fT
    cfmuls      fTemp2, fTemp2, fThree
    cfadds      fTemp1, fTemp1, fTemp2
    cfldr32     fTemp2, [r1, #8]
    cfcvt32s    fTemp2, fTemp2
    cfmuls      fTemp2, fTemp2, fIT
    cfmuls      fTemp2, fTemp2, fT2
    cfmuls      fTemp2, fTemp2, fThree
    cfadds      fTemp1, fTemp1, fTemp2
    cfldr32     fTemp2, [r1, #12]
    cfcvt32s    fTemp2, fTemp2
    cfmuls      fTemp2, fTemp2, fT3
    cfadds      fTemp1, fTemp1, fTemp2
    cfcvts32    fTemp1, fTemp1
    cfmvr64l    r4, fTemp1
    cfldr32     fTemp1, [r2, #0]
    cfcvt32s    fTemp1, fTemp1
    cfmuls      fTemp1, fTemp1, fIT3
    cfldr32     fTemp2, [r2, #4]
    cfcvt32s    fTemp2, fTemp2
    cfmuls      fTemp2, fTemp2, fIT2
    cfmuls      fTemp2, fTemp2, fT
    cfmuls      fTemp2, fTemp2, fThree
    cfadds      fTemp1, fTemp1, fTemp2
    cfldr32     fTemp2, [r2, #8]
    cfcvt32s    fTemp2, fTemp2
    cfmuls      fTemp2, fTemp2, fIT
    cfmuls      fTemp2, fTemp2, fT2
    cfmuls      fTemp2, fTemp2, fThree
    cfadds      fTemp1, fTemp1, fTemp2
    cfldr32     fTemp2, [r2, #12]
    cfcvt32s    fTemp2, fTemp2
    cfmuls      fTemp2, fTemp2, fT3
    cfadds      fTemp1, fTemp1, fTemp2
    cfcvts32    fTemp1, fTemp1
    cfmvr64l    r5, fTemp1

    mov         r5, r5, lsl #8
    add         r5, r5, r5, lsl #2
    add         r4, r5, r4, lsl #1
    strh        r3, [r0, r4]

    cfadds      fT, fT, fIncr
    cfcmps      r15, fT, fOne
    ble loop_crunch
    ldmfd        sp!, {r4, r5, r6, pc}

L001

        DCFS        0.005
        DCFS        1.0
        DCFS        3.0

        END             

⌨️ 快捷键说明

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